gcc.exe vs cpp.exe vs g++.exe

I am using Visual Studio Code for the coding and for C/C++ I uses MinGW. When I click on configure default build task then I can see various options like C/C++:cpp.exe build active file(compiler: C:/MinGW/bin/cpp.exe),C/C++:g++.exe build active file (compiler: C:/MinGW/bin/g++.exe),C/C++:gcc.exe build active file(compiler: C:/MinGW/bin/gcc.exe),C/C++:g++.exe Task generated by Debugger (compiler: C:/MinGW/bin/g++.exe) C/C++:gcc.exe Task generated by Debugger (compiler: C:/MinGW/bin/g++.exe) and two more of g++ & GCC build active file....may anyone explain the need, role & difference among all these. also why there isn't a option of "Task generated by Debugger" for cpp.exe. thank you in advance.


Solution 1:

  • cpp - The C and C++ preprocessor that replaces macros etc. Since you don't have a "Task generated by debugger" for this, it'll most likely be used in the same way for both debug and release builds.
  • gcc - The C compiler that is used to compile C programs.
  • g++ - The C++ compiler that is used to compile C++ programs