Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

C++ STL usage on Linux

John_O_Intel
Employee
997 Views
Hi Everybody,

I'm interested in what C++ STL (Standard Template Library) you are using on Linux. There are several different STL implementations available that I'm aware of being used under Linux (let me know if I've missed yours !) Dinkumware, GNU libstdc++, Rogue Wave, STLPort, and SGI.

We are looking at making it much easier to use different STL libraries in future releases of the Intel C++ Compiler for Linux. What STL implementations are important to you or your organization ? What issues are important for your choice of STL implementation - compatibility with another compiler vendor, cross platform/compiler availability, C++ standard conformance, performance, etc ?

thanks for the feedback and regards,
john
0 Kudos
3 Replies
toon_knapen
Beginner
997 Views
Most important is that icc comes with a fully functional STL (on Linux I have the impression this is the case, too bad not on windows where one has to rely on the broken MS STL).

Only when the STL that comes with the compiler does not suffice, people will try to use other STL's in combination with icc.

In that case, as gcc is the default on Linux, the SGI stl is definitly the most important.

And to allow portability between icc on windows and icc on linux, support for STLPort would be great since this one can be used on both platforms and thus could make switching from platform transparant.
0 Kudos
apl1
Beginner
997 Views
I would like to use the SAME STL as g++ Release 3.2.1 (if you have to pick one...) on Linux. (This is based on the SGI implementation.)

STLPort 4.5.3 would be my second choice.

The issue is the need to intermix GNU-compiled C++ code (object modules, STL container class objects) with ICC compiled code.



0 Kudos
TimP
Honored Contributor III
997 Views
Using the same STL is not necessarily sufficient to allow intermixing .o files built with different compilers, which have differing run-time libraries. According to my experience, libstdc++-v3 can be rebuilt (using g++), after configuring against the headers of the Intel compiler. Then, .o files built against it by either compiler should be capable of linking by the Intel compiler, but not by g++.
0 Kudos
Reply