CGO中的一些使用注意事项
1. CGO中的内容必须紧挨着import "C"
, 中间不得有其他import
- 错误示范
1 | package main |
- 应该改为
1 | package main |
2. import “C”前面的注释与import “C”之间不得有空行
- 错误示范
1 | package main |
- 正确应为
1 | package main |
3. go中无法直接使用C语言头文件中的 enum
,struct
和union
, 需要使用时,需要对相关的类型进行 typedef
重定义
- 错误示范
1 | package main |
- 正确应为
1 | package main |
4. C中的union在CGO里面表现为[N]byte
类型(其中N为该union类型占用的最大字节数)
1 | package main |