在使用Go平台调用VS2010写的动态链接库DLL过程中,系统报出了''Error 193'错误。对比错误代码就是我们日常见到的 "不是有效Win32应用程序"。但在使用VS2010写的C++程序调用时候未提示错误。
看了下网上的解答,总结一下,就是运行环境错误。
后来发现在VS环境下,编译的配置环境是32位,而系统运行的是64位。在Windows平台开发exe应用程序时同样也是在32位环境,32位的EXE调用32位的DLL,因此不会报出该错误。但在Go平台编译使用的是64位编译环境,调用32位的dll即出现了该错误。
解决思路:
(1)检查所使用的工作环境与应用程序是否兼容,在调用DLL,LIB中确保该函数与应用程序平台相同
(2)在编写Win7程序需要兼容winxp时候需要特别注意,外部依