Share via


What's the differences between these Visual Studio 2017 command prompts?

Question

Tuesday, October 9, 2018 12:26 AM

I have Visual Studio 2017 installed and I found there are several command prompts installed. 

What's the differences between `x86_x64 Cross Tools Command Prompt for VS 2017.lnk` and `x64_x86 Cross Tools Command Prompt for VS 2017.lnk`? What's the differences between *Native Tools* and *Cross Tools* Command Prompt? When should I use `Developer Command Prompt for VS 2017`? I'm a little bit confused. Some commands are only available in one Command Prompt. For example, the command `ml64` is not available for all of these Command Prompts. 

All replies (1)

Tuesday, October 9, 2018 8:56 AM ✅Answered | 1 vote

Hi Invisible Guy,

Welcome to the MSDN forum.

Please have a look this similar thread: https://stackoverflow.com/questions/27246382/what-is-the-difference-between-x64-native-tools-command-prompt-and-x64-cross-too

As Hans said:

  • your machine has two compilers that can generate x64 code. One is the 32-bit cross compiler in the vc/bin/amd64_x86 directory, the other is a 64-bit native compiler in the vc/bin/amd64 directory. They both generate the exact same x64 machine code.
  • You only must use the cross compiler when you have a 32-bit operating system. Debugging and testing the program it generates is unpleasant, you need another machine and use the remote debugger. Okay for a build server, perhaps. If you have the 64-bit version of Windows then either choice is fine, but you favor the "x64 Native" selection. The compiler and linker are slightly faster and can tackle much bigger programs.
  • This also explains why you only have the cross compiler selection for ARM, you don't have an ARM processor in your dev machine.

More information about cross-tool developer command prompts, refer to this link: /en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=vs-2017#use-a-64-bit-hosted-developer-command-prompt-shortcut .

If my reply can solve your concern, don’t forget mark it as answer, because it will help other community members who have the same issue to easier search this information. Thank you for your patience.

Have a nice day J!

Best Regards,

May

MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact [email protected]