微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以64位EXE链接对32位DLL?

我问,因为我注意到,许多64位的EXE链接到似乎是32位的DLL。

例如,我的64位MFC应用程序链接对user32.dll,urlmon.dll,wininet.dll – 所有这些都是32位DLL驻留在Windows system32中。

那么,这是适用于这些DLL的MS特定的魔术,还是有向后兼容,对于需要使用传统32位DLL的64位EXE?

堆的界限是什么?

是/ proc目录dynamic生成每个请求?

钩住Windows中的所有新进程和命令行参数

_do_fork()如何返回两个不同的PID(一个用于父进程,一个用于subprocess)

在64位Windows上运行32位可执行文件

如何“docker运行”在最小的Linux安装一个shell会话,并立即拆除容器?

在terminal服务器上,服务如何在用户会话中启动进程

控制另一个进程的内存映射

64位应用程序和内联汇编

限制每个进程的物理内存

您不能将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,并避免不准确的错误

(我迟到了,但是当我遇到类似的问题时,Google仍然发现了这个问题。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐