Note the following four processes encompass compile time.
- Preprocessing: The preprocessor handles directives such as
#includeand#define. This produces a translation unit ready for compilation. - Compilation: The compiler translates the preprocessed code into assembly language or intermediate machine code (object files with
.oor.objextensions). - Assembly: The assembler converts the assembly code into binary machine code.
- Linking: The linker combines all object files and libraries to produce a single executable program.