问题描述
软件包类型(x86或x64)是否取决于我的应用程序类型或安装的操作系统类型?
Is the package type (x86 or x64) dependent on my application type or on the OS type it is installed on?
即,如果我开发32位应用程序,我需要
I.e., if I develop a 32-bit application do I need to
- 仅部署x86软件包,或
- 部署这两个软件包并在32位Windows上安装x86,在64位Windows上安装x64?
此问题的答案在64位上可重新分发的32位VC ++操作系统?建议它只是x86软件包,因此它取决于我的应用程序,但没有给出任何解释/链接.MS下载站点也不是特定于此.
The answer to this question 32-bit VC++ redistributable on 64 bit OS? suggests that it's only the x86 package, so it would be dependent on my application but it doesn't give any explanation/links.The MS download sites are also not specific on this.
推荐答案
编译时,对标准库的所有使用都会创建必须在链接时解析的引用.链接器会在导入库中为匹配的运行时DLL进行烘焙,必须在加载时完全对其进行匹配.这意味着要匹配编译器版本,Service Pack和位.
When you compile, all use of the standard library creates references that must be resolved at link time. The linker bakes in the import library for the matching runtime DLL(s), which must be matched completely at load time. That means matching the compiler version, service pack, and bitness.
还请记住,32位进程无法加载64位DLL.由于64位Redist仅包含64位DLL,因此在加载32位可执行文件时没有帮助.
Also remember that a 32-bit process cannot load 64-bit DLLs. Because the 64-bit redist only contains 64-bit DLLs, it is of no help when loading a 32-bit executable.
这篇关于选择哪个VC ++可再发行软件包(x86或x64)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!