On 9 mai, 17:03, mlimber <mlim...@[EMAIL PROTECTED]
> wrote:
> On May 9, 8:29 am, James Kanze <james.ka...@[EMAIL PROTECTED]
> wrote:
> > I've not experience with anything later than SunStudio 11,
> > but with that, while the compiler is fairly good (although
> > not quite as good as g++), both of the libraries available
> > with it are, to put it mildly, junk, with any number of
> > serious errors which need work arounds.
> Thanks for the reply (to you and all). I presume you mean the
> standard C and C++ libraries. Can you elaborate with an
> example or two?
The default library in Sun CC is a fairly ancient version of the
Rogue Wave library, implemented before the compiler sup****ted
template members. So to begin with, it doesn't have any of the
template member functions. It was also implemented before the
compiler sup****ted the f<T>() syntax, so functions whose types
cannot otherwise be deduced have an additional T* argument. In
some cases, it also writes to memory that doesn't belong to it:
in particular, ostrstring with a user buffer will always write
one past the end of the buffer. And the iostream implementation
is simply horrible from a performance point of view: something
like out << i makes three or for system calls, even if the
stream is fully buffered.
The alternative is STL ****t. (Again, not the latest version.)
I've used it considerably less (since most of the code I write
has to link with third party libraries using the default
library), but each time I've used it, I've encountered some
problem or another.
> Is there free alternative that is better? What do you use
> instead?
We use g++ whenever possible: the compiler is somewhat better,
and the library is a couple of orders or magnitude better. And
since the long term planning has everything ****ted to Linux,
using g++ under Solaris simplifies the ****t. Most of the time,
however, third party libraries mean that we must use Sun CC with
its default library, problems or not, so we develop work-arounds
for them, and use it.
--
James Kanze (GABI Software) email:james.kanze@[EMAIL PROTECTED]
en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34


|