Developer Guide and Reference

Contents

Overview: Porting from gcc* to the Intel® C++ Compiler

This section describes a basic approach to porting applications from the gcc* C/C++ compilers to the Intel® C++ Compiler. These compilers correspond to each other as follows:
Language
Intel® Compiler
GCC* Compiler
C
icc
gcc
C++
icpc
g++
Unless otherwise indicated, the term "
gcc
" refers to both gcc* and g++* compilers from the GNU Compiler Collection*.

Advantages to Using the Intel® C++ Compiler

In many cases, porting applications from
gcc
to the Intel® C++ Compiler can be as easy as modifying your makefile to invoke the Intel® C++ Compiler (
icc
) instead of
gcc
. Using the Intel® C++ Compiler typically improves the performance of your application, especially for those that run on Intel processors. In many cases, your application's performance may also show improvement when running on non-Intel processors. When you compile your application with the Intel® C++ Compiler, you have access to:
  • Compiler options that optimize your code for the latest Intel® architecture processors.
  • Advanced profiling tools (PGO) similar to the GNU profiler
    gprof
    .
  • High-level optimizations (HLO).
  • Interprocedural optimization (IPO).
  • Intel intrinsic functions that the compiler uses to inline instructions, including various versions of Intel® Streaming SIMD Extensions and Intel® Advanced Vector Extensions.