1 IntroC
1 IntroC
Topics
• Compilation
• Using the gcc/cc Compiler
• The Anatomy of a C Program
Reading
• 1st few chapters of any C book.
Writing C Programs
Stage 1: Preprocessing
o Performed by a program called the preprocessor
o Modifies the source code (in RAM) according to
preprocessor directives (preprocessor
commands) embedded in the source code
o Strips comments and white space from the code
o The source code as stored on disk is not modified.
3 Stages of Compilation (con’t)
Stage 2: Compilation
o Performed by a program called the compiler
o Translates the preprocessor-modified source
code into object code (machine code)
o Checks for syntax errors and warnings
o Saves the object code to a disk file, if instructed
to do so (we will not do this).
o If any compiler errors are received, no object code
file will be generated.
o An object code file will be generated if only
warnings, not errors, are received.
3 Stages of Compilation (con’t)
Stage 3: Linking
o Combines the program object code with other
object code to produce the executable file.
o The other object code can come from the Run-
Time Library, other libraries, or object files that
you have created.
o Saves the executable code to a disk file. On
the Linux system, that file is called a.out.
o If any linker errors are received, no executable file
will be generated.
Program Development Using gcc
Editor
Preprocessor
Compiler
Program Object Code File pgm.o
Other Object Code Files (if any)
Linker
int main ( )
{
statement(s)
return 0 ;
}
Program Header Comment
• A comment is descriptive text used to help a
reader of the program understand its
content.
• All comments must begin with the characters
/* and end with the characters */
• These are called comment delimiters
• The program header comment always
comes first.
Preprocessor Directives
• Lines that begin with a # in column 1 are
called preprocessor directives
(commands).
• Example: the #include <stdio.h> directive
causes the preprocessor to include a copy of
the standard input/output header file stdio.h at
this point in the code.
• This header file was included because it
contains information about the printf ( )
function that is used in this program.
stdio.h