Windows x64本机工具命令提示符和x64跨工具命令提示符之间有什么区别?

Windows x64本机工具命令提示符和x64跨工具命令提示符之间有什么区别?,windows,visual-studio,visual-c++,command-prompt,Windows,Visual Studio,Visual C++,Command Prompt,我已在64位Windows 8.1上安装了32位Visual Studio 2013。我有5个命令提示: VS2013的开发人员命令提示符 VS2013 ARM交叉工具命令提示符 VS2013 x64交叉工具命令提示符 VS2013 x64本机工具命令提示符 VS2013 x86本机工具命令提示符 我不理解以下两者之间的区别: VS2013与VS2013 x86本机工具的开发人员命令提示符 命令提示符 VS2013 x64跨工具命令提示符与VS2013 x64本机工具命令提示符 交叉编译器是在一

我已在64位Windows 8.1上安装了32位Visual Studio 2013。我有5个命令提示:

  • VS2013的开发人员命令提示符
  • VS2013 ARM交叉工具命令提示符
  • VS2013 x64交叉工具命令提示符
  • VS2013 x64本机工具命令提示符
  • VS2013 x86本机工具命令提示符
  • 我不理解以下两者之间的区别:

  • VS2013与VS2013 x86本机工具的开发人员命令提示符 命令提示符
  • VS2013 x64跨工具命令提示符与VS2013 x64本机工具命令提示符
  • 交叉编译器是在一个平台上执行但为另一个平台生成代码的编译器。您的机器有两个可以生成x64代码的编译器。一个是vc/bin/amd64_x86目录中的32位交叉编译器,另一个是vc/bin/amd64目录中的64位本机编译器。它们都生成完全相同的x64机器代码

    只有在使用32位操作系统时,才必须使用交叉编译器。调试和测试它生成的程序令人不快,您需要另一台机器并使用远程调试器。也许对于构建服务器来说是可以的。如果您有64位版本的Windows,则两种选择都可以,但您更喜欢“x64本机”选择。编译器和链接器稍微快一点,可以处理更大的程序


    这也解释了为什么您只选择了ARM的交叉编译器,而在您的开发机器中没有ARM处理器。

    Ok,那么VS2013 x64交叉工具命令提示符是32位编译器?它可以创建本机64位程序。所以,我有两个选择,我需要一些澄清。使用VS2015,我有x64 x86交叉工具和x86 x64交叉工具。在64位机器上,我应该使用哪一个编译器编译32位代码?只有一个编译器可以生成存储在vc/bin中的x86代码。由于wow64仿真器,它不是交叉编译器,在64位操作系统上运行良好。