64 位 EXE 可以链接到 32 位 DLL 吗? [英] Can a 64 bit EXE link against 32-bit DLLs?

查看:49
本文介绍了64 位 EXE 可以链接到 32 位 DLL 吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我之所以这么问是因为我注意到许多 64 位 EXE 链接到看似 32 位的 DLL.

I ask because I noticed that many 64 bit EXEs link against what appear to be 32-bit DLLs.

例如,我的 64 位 MFC 应用程序链接到 user32.dll、urlmon.dll、wininet.dll - 所有这些都是驻留在 windowssystem32 中的 32 位 DLL.

For example, my 64 bit MFC app links against user32.dll, urlmon.dll, wininet.dll - all of which are 32 bit DLLs that reside in windowssystem32.

那么这是一些适用于这些 DLL 的特定于 MS 的魔法吗,或者对于需要使用传统 32 位 DLL 的 64 位 EXE 是否存在向后兼容性?

So is this some MS specific wizardry that applies to these DLLs, or is there backward compatability, as it were, for 64 bit EXEs that need to use legacy 32 bit DLLs?

推荐答案

您不能将 64 位 EXE 链接到 32 位 DLL,反之亦然.在 64 位 Windows 操作系统上,WindowsSystem32 中的 DLL 实际上是 64 位 DLL.32 位版本位于 WindowsSysWow64.

You cannot link 64-bit EXEs to 32-bit DLLs or vice versa. On a 64-bit Windows OS, the DLLs in WindowsSystem32 are actually 64-bit DLLs. The 32-bit versions are in WindowsSysWow64.

这篇关于64 位 EXE 可以链接到 32 位 DLL 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆