编译由 Nim 生成的 C 代码
Compile C-code which was generated by Nim
我听说如果你 运行 Nim 生成 C 代码:
nim c -d: release try1.nim
然后可以将进一步生成的 C 代码输入任何操作系统上的任何编译器。
在nimcache文件夹中,生成如下:
@ mtry1.nim.c
stdlib_io.nim.c
stdlib_system.nim.c
try1.json
接下来要用这个编译做什么?
您可能想尝试 运行 nim c -d:release --genScript try1.nim
。这将在 nimcache 文件夹中生成一个 compile_try1
脚本,它应该能够编译 Nim 生成的 C 源代码。
nim c --cpu:mips --os:linux --compileOnly --genScript [name_project].nim
将 nimcache DIR 中的所有内容复制到您的 OS(其中包含您的工具链(ecc、crosstoolng 等))
使用必要的 gcc 库编辑脚本 compile_[name_project].sh
例如,mipsel-linux-gnu-gcc-9
脚本(如果您还没有,请尝试 Ubuntu sudo apt install gcc-9-multilib-mipsel-linux-gnu
):
mipsel-linux-gnu-gcc-9 -c -w -fmax-errors=3 -IC:\nim\lib -IC:\nim\nim_practice -o stdlib_io.nim.c.o stdlib_io.nim.c
mipsel-linux-gnu-gcc-9 -c -w -fmax-errors=3 -IC:\nim\lib -IC:\nim\nim_practice -o stdlib_system.nim.c.o stdlib_system.nim.c
mipsel-linux-gnu-gcc-9 -c -w -fmax-errors=3 -IC:\nim\lib -IC:\nim\nim_practice -o @m[name_projet].nim.c.o @m[name_projet].nim.c
mipsel-linux-gnu-gcc-9 -static -o3 -Wall -fPIC -o [name_projet] stdlib_io.nim.c.o stdlib_system.nim.c.o @m[name_projet].nim.c.o -ldl
我听说如果你 运行 Nim 生成 C 代码:
nim c -d: release try1.nim
然后可以将进一步生成的 C 代码输入任何操作系统上的任何编译器。
在nimcache文件夹中,生成如下:
@ mtry1.nim.c
stdlib_io.nim.c
stdlib_system.nim.c
try1.json
接下来要用这个编译做什么?
您可能想尝试 运行 nim c -d:release --genScript try1.nim
。这将在 nimcache 文件夹中生成一个 compile_try1
脚本,它应该能够编译 Nim 生成的 C 源代码。
nim c --cpu:mips --os:linux --compileOnly --genScript [name_project].nim
将 nimcache DIR 中的所有内容复制到您的 OS(其中包含您的工具链(ecc、crosstoolng 等))
使用必要的 gcc 库编辑脚本
compile_[name_project].sh
例如,mipsel-linux-gnu-gcc-9
脚本(如果您还没有,请尝试 Ubuntu sudo apt install gcc-9-multilib-mipsel-linux-gnu
):
mipsel-linux-gnu-gcc-9 -c -w -fmax-errors=3 -IC:\nim\lib -IC:\nim\nim_practice -o stdlib_io.nim.c.o stdlib_io.nim.c
mipsel-linux-gnu-gcc-9 -c -w -fmax-errors=3 -IC:\nim\lib -IC:\nim\nim_practice -o stdlib_system.nim.c.o stdlib_system.nim.c
mipsel-linux-gnu-gcc-9 -c -w -fmax-errors=3 -IC:\nim\lib -IC:\nim\nim_practice -o @m[name_projet].nim.c.o @m[name_projet].nim.c
mipsel-linux-gnu-gcc-9 -static -o3 -Wall -fPIC -o [name_projet] stdlib_io.nim.c.o stdlib_system.nim.c.o @m[name_projet].nim.c.o -ldl