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.
is the GNU Project debugger, allows you to see what is going
on `inside' another program while it executes - or what another
program was doing at the moment it crashed.
GDB can do four main kinds of things (plus other things in
support of these) to help you catch bugs in the act:
Start your program, specifying anything that might affect its
Make your program stop on specified conditions.
Examine what has happened, when your program has stopped.
Change things in your program, so you can experiment with
correcting the effects of one bug and go on to learn about