选择哪个VC ++可再发行组件包(x86或x64)?

时间:2012-01-30 16:51:43

标签: visual-c++ redistributable

包类型(x86或x64)是否取决于我的应用程序类型或安装的操作系统类型?

即,如果我开发32位应用程序,我需要

  • 仅部署x86软件包或
  • 部署两个软件包并在32位Windows上安装x86,在64位Windows上安装x64?

这个问题32-bit VC++ redistributable on 64 bit OS?的答案表明它只是x86包,所以它取决于我的应用程序,但它没有给出任何解释/链接。 MS下载站点也不具体。

2 个答案:

答案 0 :(得分:7)

编译时,标准库的所有使用都会创建必须在链接时解析的引用。链接器在导入库中为匹配的运行时DLL进行烘焙,这些DLL必须在加载时与完全匹配。这意味着匹配编译器版本,Service Pack和位数。

还要记住,32位进程无法加载64位DLL。因为64位redist只包含64位DLL,所以在加载32位可执行文件时没有任何帮助。

答案 1 :(得分:-1)

如果您需要最大化64位操作系统的潜力,它取决于应用程序,您可以部署它们来处理64位和32位处理。但是,如果您的应用程序没有超过32位的限制,您可以仅在x86上部署应用程序,无论如何它还应该通过32位虚拟化在64位操作系统上运行。