如何將一個Go程序與一個C庫接口?接口與C庫一起使用
我一直在瀏覽Go的源代碼,但我仍然沒有弄明白。如果有人已經這樣做了,請分享一下嗎?
更新:感謝@fserb,我從圍棋源發佈一些文檔:
CGO能夠調用C代碼轉到 包的創建過程。
用法:CGO [編譯選項] file.go
編譯器調用 GCC編譯 包的C-部件時選項傳遞 通過未解釋。
輸入file.go是語法上 有效轉到源,其導入 僞包「C」,然後文件指的是 類型,如C.size_t,變量,如 C.stdout,或功能,例如作爲 C.putchar。
如果「C」的進口立即是 有註釋之前,該評論是編譯包的C- 部件時用作首標 。例如:
// #include <stdio.h> // #include <errno.h> import "C"
CGO將輸入文件轉換成 四個輸出文件:二轉到源 文件,6C(或8C或圖5c), 和C文件GCC C文件。
Make.pkg中的標準軟件包生成文件規則自動執行使用 cgo的過程。例子參見$ GOROOT/misc/cgo/stdio和 $ GOROOT/misc/cgo/gmp。
Cgo尚未使用gccgo。
有趣...我會馬上學習。謝謝! – jldupont 2009-11-19 02:20:07