我应该使用 Visual Studio 的哪个命令提示符?

ben*_*you 3 cpu-architecture command-prompt visual-studio

我在 64 位计算机上使用 VS2013 x86 版本。在这个网络 与命令提示符中介绍了许多类型的提示符,我对此有点困惑。我应该使用 x64 本机命令提示符还是 x64 x86 交叉工具命令提示符?

Cod*_*ray 5

编译器工具链有三个版本,因此有三个不同的命令提示符:

  • “x86”工具在 32 位 x86 系统上本机运行并生成 32 位 x86 二进制文件。

    它们位于 /vc/bin 目录中,关联的命令提示符设置使用这些工具的环境。

  • “x64”工具在 64 位 x86(微软白话中的“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 位进程的所有优势(更大的地址空间、更多的架构寄存器等),并且可能正是您想要使用的。(但是由于上面提到的 WOW64 子系统,您也可以在 64 位计算机上使用 x64-x86 交叉编译器。)