Intel® C++ Compiler 16.0 User and Reference Guide
The Intel® C++ Compiler processes C and C++ language source files. Compilation can be divided into these major phases:
Preprocessing
Semantic parsing
Optimization
Code generation
Linking
The first four phases are performed by the compiler:
Example |
---|
# Linux* and OS X* with EDG compiler icc, icpc |
# OS X* with CLANG compiler icl, icl++ |
# Windows* icl.exe |
By default, the compiler automatically invokes the linker to generate the final executable binary:
Example |
---|
# Linux* and OS X*
xild
|
# Windows*
xilink.exe
|
If you specify the c option at compilation time, the compiler will generate only object files. You will need to explicitly invoke linker in order to generate the executable.
If you specify the E and P options when calling the compiler, the compiler will only generate the preprocessed file with an .i extension.
If you specify the [Q]ipo option to use multi-file interprocedural optimization (also called Whole Program Optimization), the optimization is done at link time. Similarly, when you specify option [Q]prof-gen to use Profile Guided Optimization, the optimization is done at link time.
In both cases, the Intel® C++ compiler will generate mock object files that only the linker (xilink.exe and xild) can understand.