Default Libraries

The following libraries are supplied with the Intel® C++ Compiler:

Library Description

libguide.a
libguide.so

for OpenMP* implementation

libsvml.a

short vector math library

libirc.a

Intel support library for PGO and CPU dispatch

libimf.a

Intel math library

libimf.so

Intel math library

libcprts.a
libcprts.so

Dinkumware C++ Library

libunwind.a
libunwind.so

Unwinder library

libcxa.a
libcxa.so

Intel run time support for C++ features.

If you want to link your program with alternate or additional libraries, specify them at the end of the command line. For example, to compile and link prog.c with mylib.a, use the following command:

The mylib.a library appears prior to the libimf.a library in the command line for the ld linker.

Caution

The Linux* system libraries and the compiler libraries are not built with the -align option.  Therefore, if you compile with the -align option and make a call to a compiler distributed or system library, and have long long, double, or long double types in your interface, you will get the wrong answer due to the difference in alignment.  Any code built with -align cannot make calls to libraries that use these types in their interfaces unless they are built with -align (in which case they will not work without -align).

Math Libraries

The Intel math library, libimf.a, is included with the Intel C++ Compiler. This math library contains optimized versions of the math functions in the standard C run-time library. The functions in libimf.a are optimized for program execution speed on the Pentium® III and Pentium 4 processors. The Itanium® compiler also includes a libimf.a designed to optimize execution on Itanium-based systems.

Note

The -lm switch is used for linking, precede it with -limf so that libimf.a is linked in before the system libm.a.

Example: prompt>icc prog.c -limf

See Managing Libraries.