<p>What is the difference between g++ and gcc?  Which one of them should be used for general c++ development?</p>

```
gcc
```
and
```
g++
```
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 to
```
gcc -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).