golang 程序 windows 下调用 dll 文件(备忘)

例子

https://github.com/fananchong/test_cgo_sharedlib.git

要点说明

windows 下,cgo 连接通过,需要 .a 文件

类似如下命令,做成 .a 文件:

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"

echo "start cl ..."
cl /c /I ../include ../source/foo.c

echo "start link ..."
link /DLL /DEF:foo.def /OUT:foo.dll foo.obj

echo "start dlltool ..."
dlltool -dllname foo.dll --def foo.def --output-lib libfoo.a

最后,生成 exe ,把 dll 放到同一个目录下,即可执行

参考

https://chai2010.cn/advanced-go-programming-book/ch2-cgo/ch2-09-static-shared-lib.html

你可能感兴趣的:(Go语言杂文)