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工程目录下即可。
分类:
GoLang相关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示