Further reading
The definitive guide to GCC is the official reference manual,
"Using GCC", published by GNU Press:
Using GCC (for GCC version 3.3.1) by Richard M. Stallman and the GCC Developer Community
(Published by GNU Press, ISBN 1-882114-39-6)
This manual is essential for anyone working with GCC because it
describes every option in detail. Note that the manual is updated when
new releases of GCC become available, so the ISBN number may change in
the future.
If you are new to programming with GCC you will also want to learn how
to use the GNU Debugger GDB, and how to compile large programs easily
with GNU Make. These tools are described in the following manuals:
Debugging with GDB: The GNU Source-Level Debugger
by Richard M. Stallman, Roland Pesch, Stan Shebs, et al. (Published by GNU Press, ISBN 1-882114-88-4)
GNU Make: A Program for Directing Recompilation
by Richard M. Stallman and Roland McGrath (Published by GNU Press, ISBN
1-882114-82-5)
For effective C programming it is also essential to have a good
knowledge of the C standard library. The following manual documents all
the functions in the GNU C Library:
The GNU C Library Reference Manual
by Sandra Loosemore with Richard M. Stallman, et al (2 vols) (Published
by GNU Press, ISBN 1-882114-22-1 and 1-882114-24-8)
Be sure to check the website https://www.gnupress.org/ for the
latest printed editions of manuals published by GNU Press. The manuals
can be purchased online using a credit card at the FSF
website(40) in addition to being
available for order through most bookstores using the ISBNs. Manuals
published by GNU Press raise funds for the Free Software Foundation and
the GNU Project.
Information about shell commands, environment variables and shell-quoting
rules can be found in the following book:
The GNU Bash Reference Manual
by Chet Ramey and Brian Fox
(Published by Network Theory Ltd, ISBN 0-9541617-7-7)
Other GNU Manuals mentioned in this book (such as GNU gprof--The
GNU Profiler and The GNU Binutils Manual) were not available in
print at the time this book went to press. Links to online copies can
be found at the publisher's webpage for this
book.(41)
The official GNU Project webpage for GCC can be found on the GNU website
at https://www.gnu.org/software/gcc/. This includes a list of
frequently asked questions, as well as the GCC bug tracking database and
a lot of other useful information about GCC.
There are many books about the C and C++ languages themselves. Two of
the standard references are:
The C Programming Language (ANSI edition)
Brian W. Kernighan, Dennis Ritchie (ISBN 0-13110362-8)
The C++ Programming Language (3rd edition)
Bjarne Stroustrup (ISBN 0-20188954-4)
Anyone using the C and C++ languages in a professional context should
obtain a copy of the official language standards, which are also
available as printed books:
The C Standard: Incorporating Technical Corrigendum 1
(Published by Wiley, ISBN 0-470-84573-2)
The C++ Standard
(Published by Wiley, ISBN 0-470-84674-7)
For reference, the C standard number is ISO/IEC 9899:1990, for the
original C standard published in 1990 and implemented by GCC. A revised
C standard ISO/IEC 9899:1999 (known as C99) was published in 1999, and
this is mostly (but not yet fully) supported by GCC. The C++ standard
is ISO/IEC 14882.
The floating-point arithmetic standard IEEE-754 is important for any
programs involving numerical computations. The standard is available
commercially from the IEEE, and is also described in the following book:
Numerical Computing with IEEE Floating Point Arithmetic
by Michael Overton (Published by SIAM, ISBN 0-89871-482-6).
The book includes many examples to illustrate the rationale for the
standard.