go语言能生成dll吗,go写dll

golang编译dll给C#调用

最近需要用到golang编译dll给C#调用,记录一下,希望可以给遇到的朋友一些帮助。

成都创新互联公司专业提供资阳托管服务器服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买资阳托管服务器服务,并享受7*24小时金牌售后服务。

开发环境:

1.windows7,VS2019,VScode

2.macOS,VScode

习惯在macos开发golang应用,先写好了dll,可以参考:

然后在windows7上面使用C#调用的时候出现不能识别dll,于是只好在windows7安装golang开发环境。

简单安装了VScode和mingw64.

测试时发现了一个问题,如下:

最后找到的原因是我的windows7是64位的,mingw也是64位的,需要在VS2019里面将目标平台设置如下:

当然,也可以将目标平台设置为x64的即可,我这样设置,系统就自己去适配了。

网上的大部分是说设置目标平台为x86,这个要根据具体情况而来,不能一概而论。好了,希望能帮到您。

如何在Go语言中调用DLL

关键是 lpOnRecvCardEvent 这个函数的第二个参数是个 C++ 指针。 楼主在 C# 中声明这个导出函数时,使用了并不对应的 CardEvent[] C# 数组类型。 正确的做法是: 在 C# 声明 lpOnRecvCardEvent 时,第二个参数应该是 IntPtr ,不是数组。 由于楼...

C# 调用 Golang DLL

注意, import "C" 需要系统中安装gcc,否则会报错:

完成之后,使用go命令导出DLL文件

执行文件完成之后,会在目录下生成main.dll 和 main.h 文件。

输出结果:

需要注意:


网页标题:go语言能生成dll吗,go写dll
标题网址:http://azwzsj.com/article/pheode.html