go 使用cgo调用C库

在windows上使用cgo需要gcc或g++的编译器,需要安装MinGW来实现编译cgo的程序。

go只支持64位,所以需要下载64为的MinGW,下载好mingw-w64-install后,双击启动安装,安装选项的架构一定要选择64位,缺省是32位的。

 

安装好了以后将 xxx/x86_64-.1.0-posix-seh-rt_v6-rev0/mingw64/bin添加到系统path中,至此gcc,g++编译环境就装好了。

 

在需要调用c库的go文件中添加如下内容:

/*

#include "mycipher.h"

#cgo windows CFLAGS: -I./include

#cgo windows LDFLAGS: -L. mycipher.dll

*/

import "C"

 

附件的压缩包里内容如下:

Include目录,这是我们的加解密库需要的头文件

在go程序的这一行

#cgo windows CFLAGS: -I./include

指定访问include文件夹的路径

 

libcrypto-1_1-x64.dll  加解密库需要的openssl基础库

 

mycipher.dll 加解密动态库

 

mycipher.h 加解密库调用的头文件,里面有库里调用的方法以及方法需要的参数

 

以上文件放到你的go工程目录下即可。

posted @ 2022-01-06 18:24  dddpppqqq  阅读(894)  评论(0编辑  收藏  举报