我是靠谱客的博主 大气板栗,最近开发中收集的这篇文章主要介绍cgo 结构体指针_cgo封装C库总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

简介

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库总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部