What is the difference between g++ and gcc? Which one of them should be used for general c++ development?
C++ – the difference between g++ and gcc
c++g++gcc
Related Question
- C++ – The Definitive C++ Book Guide and List
- C++ – the “–>” operator in C/C++
- C++ – the copy-and-swap idiom
- C++ – The Rule of Three
- C++ – What are the basic rules and idioms for operator overloading
- Why doesn’t GCC optimize a*a*a*a*a*a to (a*a*a)*(a*a*a)
- Java – Why is processing a sorted array faster than processing an unsorted array
Best Solution
gcc
andg++
are compiler-drivers of the GNU Compiler Collection (which was once upon a time just the GNU C Compiler).Even though they automatically determine which backends (
cc1
cc1plus
...) to call depending on the file-type, unless overridden with-x language
, they have some differences.The probably most important difference in their defaults is which libraries they link against automatically.
According to GCC's online documentation link options and how g++ is invoked,
g++
is equivalent togcc -xc++ -lstdc++ -shared-libgcc
(the 1st is a compiler option, the 2nd two are linker options). This can be checked by running both with the-v
option (it displays the backend toolchain commands being run).