如何将一个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