Compilation Phases

To produce the executable file filename, the compiler performs by default the compile and link phases. When invoked, the compiler driver determines which compilation phases to perform based on the extension to the source filename and on the compilation options specified in the command line.

The compiler passes object files and any unrecognized filename to the linker. The linker then determines whether the file is an object file (.o) or a library (.a). The compiler driver handles all types of input files correctly, thus it can be used to invoke any phase of compilation.

The relationship of the compiler to system-specific programming support tools is presented in the diagram below.

Application Development Cycle