Re: Visual Studio STL on Linux? Portable STL suggestion?
Magnus <email@example.com> wrote:
Would Anyone please confirm or deny the staements below, and/or anser
1. MS Visual Studio 2005 ships with a STL from Dinkumware. True?
Yes, plus some MS-specific modifications.
2. Dinkumware (D) is commercial and their STL costs money. True?
3. Applications produced with MSVS can be sold an redistributed
although they use the D. STL because of some agreement between MS and
I've read somewhere - I don't remember where - that the MS debug
libraries must not be redistributed. Must they not?
They must not. Everything you can legally redistribute from Visual
Studio installation is explicitly listed in redist.txt file found in
Visual Studio installation directory.
Does this have
something with D. to do?
No, as far as I can tell.
Our application must be portable (Windows and e.g. Red Hat). Is the MS
STL freely available with a commercial licence for e.g. Linux? If so,
why? Doesn't D. own the STL?
STL is defined in a public standard, ISO/IEC 14882. Dinkumware does not
own STL, they own their particular STL implementation (similar to how MS
does not own C++ language but does own their particular C++ compiler and
associated tools). There are other STL implementations available. E.g.
GCC compiler (widely used on Linux and other Unixy systems) provides
As long as your source code uses STL in a manner consistent with C++
standard, it should work on any (reasonably) conformant C++ compiler.
Any such compiler will provide an STL implementation, as this is
required by C++ standard.
Does Anyone know if the GCC STL available on Windows for use with
If I recall correctly, STL headers supplied with GCC use some
GCC-specific extensions internally. They might not work with MSVC
Commercial Dinkumware STL (the one you can buy directly from Dinkumware)
is designed to be portable and is built and tested on many platforms.
However, the fork of it that Microsoft includes with MSVC contains
certain modifications that use VC-specific extensions internally. Thus
it's unlikely to work with GCC. There are probably also legal reasons
why you can only use MS-provided STL implementation with MSVC, but I'm
not a lawyer.
Is there any other good portable STL that works with both MSVS
This thread might interest you:
In it, P.J. Plauger (one of the authors of Dinkumware STL) provides an
overview (unbiased, as far as I can tell) of the current state of
various STL implementations.
With best wishes,
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925