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.