[英]Using MinGW-Builds to compile a 32-bit exe on a 64-bit system — compiles a 32-bit exe but links against 64-bit DLLs
[英]Can a 64 bit EXE link against 32-bit DLLs?
我问,因为我注意到许多64位EXE链接到看似32位的DLL。
例如,我的64位MFC应用程序链接到user32.dll, urlmon.dll, wininet.dll
- 所有这些都是驻留在windows \\ system32中的32位DLL。
这是一些适用于这些DLL的MS特定的魔法,还是那些需要使用传统32位DLL的64位EXE的后向兼容性?
您不能将64位EXE链接到32位DLL,反之亦然。 在64位Windows操作系统上,Windows \\ System32中的DLL实际上是64位DLL。 32位版本在Windows \\ SysWow64中。
从64打电话给32,当然可以。 (在Windows中,这称为WOW,这意味着Windows上的Windows)。 但是,反之亦然。
在这里您可以解释如何:
http://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/
希望它服务。
最新版本的Dependency Walker(在这里找到: http : //www.dependencywalker.com/ )解决了这个问题。 它找到了正确的DLL,并避免了不准确的错误。
(我迟到了,但是当我遇到类似的问题时谷歌仍然发现了这个问题。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.