golang编译dll给C#调用

Python015

golang编译dll给C#调用,第1张

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

开发环境:

1.windows7,VS2019,VScode

2.macOS,VScode

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

https://blog.csdn.net/henreash/article/details/88768206

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

简单安装了VScode和mingw64.

https://sourceforge.net/projects/mingw-w64/

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

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

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

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

区别如下:

vs2019是个IDE,vscode本质上是个编辑器,只不过通过插件能够实现大部分IDE的功能。

vs2019比vscode强大很多,也重很多(安装包大小、系统资源消耗),vscode比较轻量级。

vscode是开源软件,visual studio不是(有社区版、企业版,社区版对于非企业用户是免费的)。

Visual Studio Code(简称“VS Code”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。

它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。

“很多人都使用Windows作为他们的开发环境,但是我们也注意到了,还有很多人使用 Linux 和 Mac“,Somasegar,微软公司的开发者事业部总裁在这周稍早时候对笔者如是说道。”我们想让他们能够在他们习惯的平台上使用我们公司的产品,而不是非要迁徙到 Windows 上“。

这些平台上的很多开发者们也更乐意于使用像 Sublime Text 这种轻量级的代码编辑器,而非像 Visual Studio 这种全特性的 IDE。