概述
简介
cgo是go语言提供的一种与C语言相互调用的方式。
cgo能够让开发者直接在.go源代码文件中嵌入C代码。
在嵌入的C代码比较长的时候,还允许在分离.c文件中编写C代码。
cgo的基本处理机制是,根据特定格式的cgo指令,解析出C源代码和编译参数,
调用gcc编译并把结构合并到最终二进制程序中。
带来的问题,编译速度慢了很多。
两种模型,
cgo用法:
声明使用cgo
在.go文件中,插入这么几行,表示开启cgo功能:
/*
*/
import "C"
其实这并不是一个简单的开关,而是特定的语法序列标识,当go解析器遇到该语法序列时,
自动进入cgo模式,处理与cgo有关的功能。
注意,这个注释确实是注释,并没有写错。在这个注释段能够添加C源代码。
一般把这个块叫做“C语言嵌入注释块”。
还有一个需要注意的是在注释结尾处,要紧跟着import "C"语句,否则这块注释会被当作注释忽略了。
声明cgo编译参数
cgo的编译参数,也就是cgo调用gcc的用到的编译参数,用来支持gcc编译过程中查找头文件,库,标识等。
常用的参数有,CFLAGS,LDFLAGS。
这里用到了#cgo指令了,关于指令,指的是一种特殊语法序列,告诉编译器做特定的处理。
而cgo的编译参数则必须出现在C语言嵌入注释块中&#x
最后
以上就是大气板栗为你收集整理的cgo 结构体指针_cgo封装C库总结的全部内容,希望文章能够帮你解决cgo 结构体指针_cgo封装C库总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复