• pragma编译指示

    pragma编译指示

    pragma 编译指示可用于声明用户定义的编译指示。 这很有用,因为Nim的模板和宏不会影响编译指示。 用户定义的编译指示与所有其他符号在不同的模块范围内。 它们无法从模块导入。

    示例:

    1. when appType == "lib":
    2. {.pragma: rtl, exportc, dynlib, cdecl.}
    3. else:
    4. {.pragma: rtl, importc, dynlib: "client.dll", cdecl.}
    5.  
    6. proc p*(a, b: int): int {.rtl.} =
    7. result = a+b

    在该示例中,引入了名为 rtl 的新编译指示,该编译指示从动态库导入符号或导出用于动态库生成的符号。