several versions of the compiler (C, C++, Objective C, Fortran,
Java) are integrated in a set and this is why people use the name
GCC or "GNU Compiler Collection". GCC can compile programs written in any
of these languages. The Fortran and Java compilers are described
in separate manuals.
When you invoke GCC, it normally does preprocessing,
compilation, assembly and linking. The "overall options" allow
you to stop this process at an intermediate stage. For example,
the `-c' option says not to run the linker. Then the output
consists of object files output by the assembler.
Other options are passed on to one stage of processing. Some
options control the preprocessor and others the compiler
itself. Yet other options control the assembler and linker; most
of these are not documented here, since you rarely need to use
any of them.
Most of the command line options that you can use with GCC are
useful for C programs; when an option is only useful with
another language (usually C++), the explanation says so
explicitly. If the description for a particular option does not
mention a source language, you can use that option with all
Please consult the man page for gcc.