我在64位计算机上使用VS2013 x86版本。在这个网站上 vs command prompt引入了许多类型的提示,我对它有点困惑。我应该使用x64本机命令提示符还是x64 x86交叉工具命令提示符?
答案 0 :(得分:3)
编译器工具链有三个版本,因此有三个不同的命令提示符:
“x86”工具在32位x86系统上本机运行,并生成32位x86二进制文件。
它们位于/ vc / bin目录中,相关的命令提示符设置环境以使用这些工具。
“x64”工具本机运行在64位x86(Microsoft白话中的“x64”)系统上,并生成64位x86二进制文件。
它们位于/ vc / bin / amd64目录中,相关的命令提示符设置环境以使用这些工具。
“x64-x86”交叉工具在32位x86系统上运行,但生成64位x86二进制文件。
它们位于/ vc / bin / amd64_x86目录中,相关的命令提示符设置环境以使用这些工具。
您使用哪一个取决于您想要制作/操作的二进制文件。
如果要生成32位代码,则需要使用x86工具。它们可以在32位或64位机器上运行(后者通过WOW64子系统运行,同样负责运行所有 32位进程)。
如果要在32位系统上生成64位代码,则必须使用x64-x86交叉编译器。交叉编译器是一种编译器,它为与实际运行的平台不同的平台生成代码。一个更明显的例子是在x86上运行但生成ARM代码的编译器。在这种情况下,它是一个生成64位代码的32位编译器。
如果要在64位系统上生成64位代码,则可以选择使用x64本机编译器。这将为您提供使用64位进程(更大的地址空间,更多架构寄存器等)的所有优点,并且可能是您想要使用的。 (但是你也可以在64位机器上使用x64-x86交叉编译器,这要归功于上面提到的WOW64子系统。)