pragma编译指示
pragma 编译指示可用于声明用户定义的编译指示。 这很有用,因为Nim的模板和宏不会影响编译指示。 用户定义的编译指示与所有其他符号在不同的模块范围内。 它们无法从模块导入。
示例:
- when appType == "lib":
- {.pragma: rtl, exportc, dynlib, cdecl.}
- else:
- {.pragma: rtl, importc, dynlib: "client.dll", cdecl.}
- proc p*(a, b: int): int {.rtl.} =
- result = a+b
在该示例中,引入了名为 rtl 的新编译指示,该编译指示从动态库导入符号或导出用于动态库生成的符号。