为了账号安全,请及时绑定邮箱和手机立即绑定

接口与C库一起使用

接口与C库一起使用

Go
杨__羊羊 2021-04-09 14:11:19
如何将Go程序与C库接口?我一直在浏览Go的源代码,但我仍然没有弄清楚。如果有人已经这样做了,请分享一下吗?更新:感谢@fserb,我从Go来源发布了一些文档:Cgo支持创建调用C代码的Go包。用法:cgo [编译器选项] file.go调用gcc编译软件包的C部分时,编译器选项将通过未解释的传递。输入file.go是一个语法上有效的Go源文件,该文件导入伪包“ C”,然后引用诸如C.size_t之类的类型,诸如C.stdout之类的变量或诸如C.putchar之类的函数。如果在导入“ C”后立即添加注释,则在编译程序包的C部分时,该注释将用作标头。例如:// #include <stdio.h> // #include <errno.h> import "C"Cgo将输入文件转换为四个输出文件:两个Go源文件,一个用于6c(或8c或5c)的C文件和一个用于gcc的C文件。Make.pkg中的标准软件包makefile规则可自动执行使用cgo的过程。有关示例,请参见$ GOROOT / misc / cgo / stdio和$ GOROOT / misc / cgo / gmp。Cgo尚未与gccgo一起使用。
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

检查cgo。另外,请查看Go源代码上的misc / cgo / gmp,以获取有关如何在Go中包装C库的示例代码。


查看完整回答
反对 回复 2021-04-26
  • 1 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信