在控制台中输入
gcc -v
如果提示命令未找到,那么说明你的计算机中还没有gcc,去安装一个吧,gcc官方网站: https://gcc.gnu.org/
如果从来没有安装过gcc的朋友可以直接安装win-build,可以帮你快速的安装
官方网站: http://mingw-w64.org/doku.php/download/win-builds
我们这里只是编写一个简单的输出字符串的程序,接受一个字符串参数,然后将拼接成新的字符串并作为返回值返回,在这里,我们将文件命名为libhello.go
package main import "C" func helloLemonITCN(msg string) string { return "LemonIT.CN : Hello! " + msg } func main() { }
注意,即使是要编译成动态库,也要有main函数,上面的 import "C"
一定要有
首先,将控制台的所在目录切换到go程序的所在目录,即libhello.go所在目录
执行如下命令生成DLL动态链接库:
go build -buildmode=c-shared -o libhello.dll ./libhello.go
如果控制台没有报错,那么会在当前路径下生成libhello.dll文件
执行如下命令生成SO动态库:
go build -buildmode=c-shared -o libhello.so ./libhello.go