C++ source files conventionally use one of the suffixes `.C
',
`.cc
', or `.cxx
'; preprocessed C++ files use the suffix
`.ii
'. GNU CC recognizes files with these names and compiles
them as C++ programs even if you call the compiler the same way as for
compiling C programs (usually with the name gcc
).
However, C++ programs often require class libraries as well as a
compiler that understands the C++ language---and under some
circumstances, you might want to compile programs from standard input,
or otherwise without a suffix that flags them as C++ programs.
g++
is a program that calls GNU CC with the default language
set to C++, and automatically specifies linking against the GNU class
library libg++.
[1] On many systems, the script g++
is also
installed with the name c++
.
When you compile C++ programs, you may specify many of the same command-line options that you use for compiling programs in any language; or command-line options meaningful for C and related languages; or options that are meaningful only for C++ programs. See C Dialect Options, for explanations of options for languages related to C. See C++ Dialect Options, for explanations of options that are meaningful only for C++ programs.
[1] Prior to release 2 of the compiler, there was a separate g++
compiler. That version was based on GNU CC, but not integrated with it. Versions of g++
with a `1.xx
' version number---for example, g++
version 1.37 or 1.42---are much less reliable than the versions integrated with GCC 2. Moreover, combining G++ `1.xx
' with a version 2 GCC will simply not work.