4.3. Compiling C++ Programs
C++ source files conventionally use one of the suffixes .C,
.cc, .cpp, .CPP, .c++, .cp, or
.cxx; C++ header files often use .hh or .H; and
preprocessed C++ files use the suffix .ii. GCC 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 or header files from
standard input, or otherwise without a suffix that flags them as C++
programs. You might also like to precompile a C header file with a
.h extension to be used in C++ compilations. g++ is a
program that calls GCC with the default language set to C++, and
automatically specifies linking against the C++ library. On many
systems, 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.
Section 4.4 Options Controlling C Dialect, for
explanations of options for languages related to C.
Section 4.5 Options Controlling C++ Dialect, for
explanations of options that are meaningful only for C++ programs.