相关疑难解决方法(0)

如何在Go中使用C++?

在新的Go语言中,如何调用C++代码?换句话说,我如何包装我的C++类并在Go中使用它们?

c++ wrapper go

158
推荐指数
6
解决办法
9万
查看次数

接口转到C库

如何将Go程序与C库连接起来?

我一直在浏览Go的源代码,但我仍然没有想到它.如果某人已经这样做了,你能分享吗?

更新:感谢@fserb,我发布了Go源代码中的一些文档:

Cgo支持创建调用C代码的Go包.

用法:cgo [编译器选项] file.go

在调用gcc以编译包的C部分时,编译器选项通过uninterpreted传递.

输入file.go是一个语法上有效的Go源文件,它导入伪包"C",然后引用诸如C.size_t之类的类型,诸如C.stdout之类的变量或诸如C.putchar之类的函数.

如果导入"C"后面紧跟注释,则在编译包的C部分时,该注释将用作标题.例如:

// #include <stdio.h>
// #include <errno.h>
import "C"
Run Code Online (Sandbox Code Playgroud)

Cgo将输入文件转换为四个输出文件:两个Go源文件,一个用于6c(或8c或5c)的C文件,以及一个用于gcc的C文件.

Make.pkg中的标准包makefile规则自动执行使用cgo的过程.有关示例,请参阅$ GOROOT/misc/cgo/stdio和$ GOROOT/misc/cgo/gmp.

Cgo尚未与gccgo合作.

c binding go

22
推荐指数
1
解决办法
6977
查看次数

标签 统计

go ×2

binding ×1

c ×1

c++ ×1

wrapper ×1