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)