Skip to content

利用golang编译dll

《go语言高级编程里》有cgo的教程,没有读过的建议先去读一下。

1.go与c的数据类型转换,因为编译成动态库或者生成静态库是c在运行了,所以数据类型不一样这个必需转换。

C语言类型CGO类型Go语言类型
charC.charbyte
singed charC.scharint8
unsigned charC.ucharuint8
shortC.shortint
unsigned shortC.ushortuint
intC.intint
unsigned intC.uintuint
longC.longint
unsigned longC.ulonguint
long long intC.longlongint
unsigned long long intC.ulonglonguint
floatC.floatfloat
doubleC.doublefloat
size_tC.size_tuint

2.输入与输入类型的注意事项。

3.指针与接口。