Shibli
Shibli

Reputation: 6149

Intel standard library (C++)

Does the Intel compiler have its own standard library, e.g., implementations of std::cout etc. I want to adjust everything for Intel.

Upvotes: 14

Views: 4510

Answers (2)

Lightness Races in Orbit
Lightness Races in Orbit

Reputation: 385194

Until version 8, ICC shipped with Dinkumware, i.e. the standard library implementation that also ships with Microsoft Visual Studio:

The Intel C++ Compiler for Windows uses the Microsoft Visual C++ header files, libraries and linker. Microsoft controls the header files that define the namespace.

However, as of version 8.1

-cxxlib-gcc Is Now the Default for C++
The STL and gcc* C++ libraries are now used by default when linking C++ applications, rather than those from Dinkumware* used in previous releases. If you wish to use the Dinkumware libraries, specify the new switch -cxxlib-icc. In a future release of the Intel C++ Compiler, support for using the Dinkumware libraries will be removed.

By "STL and gcc C++ libraries" one can only assume that they are referring to libstdc++.

  • So, does ICC ship with a standard library implementation? Yes.
  • Does it ship with a library implemented by Intel? No.

Upvotes: 22

Kos
Kos

Reputation: 72271

The C++ Standard Library is defined by the C++ Standard. Any standards-comformant compiler (which includes ICC) provides an implementation of this library, so yes, ICC has its own.

However, you don't need to "adjust everything", as the coding interface is generally the same everywhere. Just code standard C++ and ICC will be able to compile it.

Upvotes: 0

Related Questions