-
We already know the first thing that happens is that the
C preprocessor scans the source form of the program and
produces a new source file with all the preprocessor
directives removed, macros expanded, include files
included in the source file, etc.
This modified version of the source file is then passed to
the C compiler to produce the object form of the program,
if the name of the source file is xxx.c then the name of the
object file will be xxx.o
The .o file contains relocatable machine language--that is,
there is enough information in the .o file to place the
machine language code anywhere in the address space of
the machine
The next process is loading or link editing the program
The program ld performs the loading of your C
program, the input to this program is a collection of .o
files and libraries and the output is an executable program
You usually don't invoke ld directly, the C compiler can
do it for you - the C compiler knows the special libraries
and startup code that is required for C programs, you
don't need to remember this stuff
|
 |