Книга: Fedora™ Unleashed, 2008 edition
Using the GNU C Compiler
Using the GNU C Compiler
If you elected to install the development tools package when you installed Fedora 7 (or perhaps later on, using RPM or other package tools), you should have the GNU C compiler (gcc
). Many different options are available for the GNU C compiler, and many of them are similar to those of the C and C++ compilers that are available on other Unix systems. Look at the man
page or information file for gcc
for a full list of options and descriptions.
When you use gcc
to build a C program, the compilation process takes place in several steps:
1. First, the C preprocessor parses the file. To do so, it sequentially reads the lines, includes header files, and performs macro replacement.
2. The compiler parses the modified code to determine whether the correct syntax is used. In the process, it builds a symbol table and creates an intermediate object format. Most symbols have specific memory addresses assigned, although symbols defined in other modules, such as external variables, do not.
3. The last compilation stage, linking, ties together different files and libraries and then links the files by resolving the symbols that had not previously been resolved.
NOTE
Most C programs compile with a C++ compiler if you follow strict ANSI rules. For example, you can compile the standard hello.c
program (everyone's first program) with the GNU C++ compiler. Typically, you name the file something like hello.cc
, hello.c
, hello.c++
, or hello.cxx
. The GNU C++ compiler accepts any of these names.
- 4.4.4 The Dispatcher
- About the author
- Chapter 7. The state machine
- Appendix E. Other resources and links
- Appendix H. GNU Free Documentation License
- Appendix I. GNU General Public License
- Caveats using NAT
- Example NAT machine in theory
- Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
- The final stage of our NAT machine
- Compiling the user-land applications
- The conntrack entries