将 Go 代码集成到现有的 C 项目中
在 Go 1.5 之前,将 Go 代码集成到 C 项目中是一项挑战。但是,随着 -buildmode=c-archive 标志的引入,可以从 C 程序中调用 Go 代码。
要生成与 C 代码链接所需的头文件和存档,请按照以下步骤操作步骤:
go build -buildmode=c-archive <Go_source_file>.go
这将生成一个存档(例如 foo.a)和一个头文件(例如,foo.h)。
在您的 C 代码中,包含生成的头文件并使用 CGo 命名后的导出函数惯例。例如:
#include "foo.h" int main(int argc, char **argv) { PrintInt(42); return 0; }
要编译 C 程序,请使用如下命令:
gcc -pthread foo.c foo.a -o foo
附加说明:
以上是如何将Go代码集成到现有的C项目中?的详细内容。更多信息请关注PHP中文网其他相关文章!