nim语言的学习
        【摘要】 
                    目录 
nim 
nim的优点 
安装nim编译器和nimble包管理器 
nim文件的编译  
nim 
    Nim是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nim从Lisp继承来的一个特殊特性--抽象语法树(AST)作为语言规范的一部分,可以...
    
    
    
    目录
nim
Nim是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nim从Lisp继承来的一个特殊特性--抽象语法树(AST)作为语言规范的一部分,可以用作创建领域特定语言的强大宏系统。Nim是一个编译型的具有垃圾收集的系统编程语言,有着极其卓越的生产/性能比。Nim的设计集中在三个E上:即效率(efficiency)、表达能力(expressiveness)和优雅(elegance)。而我们学习nim的目的就是为了做免杀。大多数杀软对于新型的偏门小类型语言的免杀效果并不好。github上一个比较出名的利用nim进行免杀的项目:https://github.com/byt3bl33d3r/OffensiveNim
nim的优点
- 可以直接编译为C、C++、Objective-C和Javascript。
- 语法简单,不依赖运行时虚拟机。
- 具有极其成熟的外部接口API。
- 跨平台交叉编译。
- 可以将代码直接编译为Javascript,甚至初步支持WebAssembly
安装nim编译器和nimble包管理器
  
   - 
    
     
    
    
     
      apt update
     
    
- 
    
     
    
    
     
      apt install nim  #安装nim语言
     
    
 如果要编译出Windows下可以运行的exe和dll文件,那么必须安装mingw
apt install mingw-w64
 然后使用包管理器nimble安装winim包。nimble就和python中的pip一样,用了安装依赖的库包
nimble install winim
 nim文件的编译
nim语言编写的文件后缀为 .nim ,以下为编译方法
  
   - 
    
     
    
    
     
      一般的编译参数:
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      c:编译成C语言。例如:nim c test.nim
     
    
- 
    
     
    
    
     
      cpp:编译成C++语言。例如:nim cpp test.nim
     
    
- 
    
     
    
    
     
      objc:编译成objc语言
     
    
- 
    
     
    
    
     
      js:编译成javascript脚本, 可以建一个html文件在<script src="test.js"></script>里运行.
     
    
- 
    
     
    
    
     
      -d:release:进行release编译。nim cc -d:release test.nim
     
    
- 
    
     
    
    
     
      -r:编译完成后运行程序
     
    
- 
    
     
    
    
     
      --cincludes:包含 当前目录(./)的 c头文件.
     
    
- 
    
     
    
    
     
      --cpu:指定架构,如:nim cc -cpu amd64 , nim cc -cpu:arm。--cpu参数有:i386, m68k, alpha, powerpc, powerpc64, powerpc64el, sparc, vm, hppa, ia64, amd64, mips, mipsel, arm, arm64, js, nimvm, avr, msp430, sparc64, mips64, mips64el, riscv64, esp, wasm32
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      编译为exe可执行程序:nim c --cpu:amd64 -d:mingw --app:gui now.nim
     
    
 未完待续。。
文章来源: xie1997.blog.csdn.net,作者:谢公子,版权归原作者所有,如需转载,请联系作者。
原文链接:xie1997.blog.csdn.net/article/details/111065939
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)