如何从 Nim 生成 C 头文件

How to generate C headers from Nim

我写了一个库,也打算在 C 中使用。 将库编译为 .dll/.so/.lib 本身已得到充分记录并按预期工作。

但是,我找不到任何关于相应头文件的信息。 我发现的关于此类内容的唯一文档是 --header cli argument which was supposedly (to be?) removed。 在 https://nim-lang.org/docs/nimc.html 页面和我的安装帮助页面中都找不到它。

Nim 版本:

$ nim -v
Nim Compiler Version 1.6.0 [Windows: amd64]
Compiled at 2021-10-19

exportc pragma的文档中,只解释了命名和使用方法。 backend-integration 页面也是如此,该页面也没有说明有关头文件的任何有用信息。

是否有从 nim 源代码生成头文件的正确方法,还是我必须手动编写这些文件?

您可以使用 Genny nimble 包为您的 Nim 库生成 C header 文件(以及 Python 和 Node.js 绑定!)。

除此之外,手动编写 header 将是下一个最佳选择。好吧,--header 选项确实仍然有效,但不建议使用它,因为它没有记录且不受支持。