Previous Page
Next Page

18.1. The GNU Compiler Collection

GCC originally stood for the "GNU C Compiler." Since its beginnings, the program has grown to support a number of other programming languages besides C, including C++, Ada, Objective-C, Fortran, and Java. The acronym GCC has therefore been redefined to mean "GNU Compiler Collection." The compiler incorporates a number of frontends to translate different languages. In this book, of course, we are concerned only with the C frontend.

GCC is also a multitarget compiler; in other words, it has interchangeable backends to produce executable output for a number of different computer architectures. As the modular concept would suggest, GCC can also be used as a cross-compiler; that is, you can produce executable programs for machines and operating systems other than the one GCC is running on. However, doing so requires special configuration and installation, and most GCC installations are adapted to compile programs only for the same system on which they are hosted.

GCC not only supports many "dialects" of C, but also distinguishes between them; that is, you can use command-line options to control which C standard the compiler adheres to in translating your source code. Support for all the features of the C99 standard is not yet complete. The GCC developers maintain a statement about the current progress of C99 support at http://gcc.gnu.org/c99status.html.


Previous Page
Next Page