將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中文網其他相關文章!