Visual studio 如何在GOARCH=386的64位GO项目上使用32位DLL和VSCode

Visual studio 如何在GOARCH=386的64位GO项目上使用32位DLL和VSCode,visual-studio,go,dll,x86,64-bit,Visual Studio,Go,Dll,X86,64 Bit,我已经安装了带有默认软件包的VSCode和GO扩展。 我的项目需要加载一个32位DLL。当我用F5启动项目时,在syscall.LoadLibrary上出现错误193 我在互联网上发现,当有人试图在64位arch上加载32位DLL时,通常会发生错误 我想如果我用GOARCH=386调试,我将能够加载DLL。但每次我尝试使用GOARCH=386执行时,我都会在VSCode上得到错误,说这种架构不受支持 我需要帮助 问题是因为您试图在64位体系结构上加载32位dll。使用64位dll文件。以及使用g

我已经安装了带有默认软件包的VSCode和GO扩展。 我的项目需要加载一个32位DLL。当我用F5启动项目时,在syscall.LoadLibrary上出现错误193

我在互联网上发现,当有人试图在64位arch上加载32位DLL时,通常会发生错误

我想如果我用GOARCH=386调试,我将能够加载DLL。但每次我尝试使用GOARCH=386执行时,我都会在VSCode上得到错误,说这种架构不受支持


我需要帮助

问题是因为您试图在64位体系结构上加载32位dll。使用64位dll文件。以及使用golang的64位dll进行的安装

如果您尝试在64位操作系统上从32位dll安装delve。github上的问题中也提到了这一点:

如果要在64位操作系统上运行32位dll,VS代码会发出抱怨。 如果您有golang的32位dll,请卸载该dll,然后再次从64位dll安装。

我假设64位dll无法访问

64位进程无法将32位模块加载到其进程空间,32位进程无法将64位模块加载到其进程空间。32位和64位模块之间进行通信的唯一方式是通过进程间通信。Microsoft建议您使用进程间COM在64位应用程序中使用32位代码。很难看

如果您认为可以,请将您的项目构建到X86平台32位。这样ehlapi32.dll就兼容了,问题就解决了。您的32位软件在64位平台上仍然受支持,因为32位进程可以在64位Windows操作系统上执行

-

我熟悉C++,一点也不熟悉。我不知道如何或者是否可以在围棋中实现这种技术。
您的windows操作系统bit体系结构是什么。是64位还是32位?64位WIndows 10,如果dll没有64位版本。有什么事要做吗?@OtavioMoreira没有,应该给我dll的链接。如果没有,你也无能为力。我正在使用ibm的ehlapi32.dllemulator@OtavioMoreira不,这是行不通的。搜索64位,如果他们没有64位,就会在github库上引发问题。我认为他们没有,因为ibm站点只提到了16位和32位。你应该在那里给我检查一下。