欢迎光临散文网 会员登陆 & 注册

CGO

2023-06-17 17:41 作者:CSDN首席喷子  | 我要投稿

通过CGo,Go可以使用C语言库。Golang中,需要写一行单独的导入语句:

然后在这一行前面以注释的形式添加C语言代码,并注明预处理器和链接器参数:

需要注意的是C语言的数据结构在Go中是不可见的,反之亦然,需要显式转换。此后即可使用C语言调用。下面是一个OQS的包装代码,作为参考:

注意:

  • C语言的void *对应的就是unsafe的uintptr。

  • 不能使用sizeof。

  • 常量也位于C包下,但预编译指令无法使用。



CGO的评论 (共 条)

分享到微博请遵守国家法律