使用Visual Studio(vcvarsall.bat)编译时应选择哪个64位目标?

10

vcvarsall.bat是设置构建环境的文件,它允许你在x86 | ia64 | amd64 | x86_amd64 | x86_ia64中选择。

第一个选项显然是32位的,但问题是:如果要构建64位并在所有64位机器上运行,其他4个选项中哪个是最优的呢?

假设您没有时间/资源来制作4个64位版本的构建程序,而只能选择其中一个,应该如何选择呢?

2个回答

14
我找到了一篇阐明这个问题的页面http://msdn.microsoft.com/en-us/library/x4d2c09s%28VS.80%29.aspx

  • 32位操作系统编译32位程序 => x86
  • 32位操作系统编译64位程序 => x86_amd64
  • 64位操作系统编译64位程序 => amd64

而且您可以忽略其他选项,因为Itanium没有真正的市场份额。


有趣的是,即使在 Windows 64 位计算机上,Visual Studio 仍然使用 32 位交叉编译器。 - Cobertos

1

ia64 (Itanium) 是一种非常冗余的 CPU(可以在 Google 上搜索 ia64 的市场份额),只有在部署到该架构时才应使用它。

x86_amd 用于在 amd64 架构上运行 32 位代码,仅在您的代码无法在 amd64 下编译/工作时使用它。


我已经在MSDN上找到了描述这个的页面。关于Itanium,你是正确的。 - sorin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接