Topic: Recommended C++ for Win95 / NT?


Author: brownsta@concentric.net (Stan Brown)
Date: 1998/11/16
Raw View
[posted and emailed]

abrahams@spam.motu.com (David Abrahams) wrote:
>
[about CodeWarrior]

>Here are a few things I happen to know that they don't handle
>correctly/completely:

[...]

>6. In functions which return a value, requires a useless return
>statement in each control path that throws exceptions.

>I don't know how that compares to the other Windows C++ compilers; I'd
>be interested to hear from those who do.

MSVC++ 5.0 has this problem too.

--
Stan Brown, Oak Road Systems, Cleveland, Ohio, USA
                      http://www.concentric.net/%7eBrownsta/
"I'm not even supposed to BE here!"  -- the mantra from /Clerks/
My reply address is correct as is. The courtesy of providing a correct
reply address is more important to me than time spent deleting spam.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Dave Evans" <devans@radius-retail.kom>
Date: 1998/11/16
Raw View

Thanks all.  I wasn't really thinking of the "Windows" aspect of this =
one - portable, standard code was more my point.  I'm just reading up =
on, and starting to use C++ and I was wondering what compiler was least =
likely to give me a hard time.

Actually, I'm also considering installing Linux soon so maybe there's =
more hope in that direction.
    Dave Evans wrote in message ...............................

[ moderator's note: HTML attachment deleted. Please do not use
  attachements of any kind in news articles, and please do not
  post HTML. -sdc ]


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Edward Diener <eddielee@abraxis.com>
Date: 1998/11/10
Raw View
Most 3rd party libraries in Windows are ActiveX objects or controls and these
are supported by Inprise, Symantec, and Watcom C++ implementations. There are
quite a few DLLs geared toward MFC but there are also a wealth of
components geared toward Inprise's VCL component technology.

Right now none of the above-mentioned popular Windows C++ compilers are very
close to C++ compliance but VC++ and BCB3 are the closest among the 4 since they

have put out the most recent C++ implementations. Inprise has promised much
better C++ compliance in their next release of C++ Builder, which rumor has as
due out about the 1st quarter of 1999.

I have excluded CodeWarrior from this list since I know nothing about it but I
have heard that they have the best C++ compliance among Windows C++
compilers.

"J. Kanze" wrote:

> Sidney Steward <ssteward@erols.com> writes:
>
> |>  Dave Evans wrote:
> |>  >
> |>  > With the emphasis on conformance to the Standard, what compilers are
> |>  > recommended for use on Win95 / NT ?
> |>  > So far I have only used MS VC++ 4.x on these platforms.
> |>  >
> |>  (snip)
> |>

>
> It has nothing to do with standards compliance, but if you use any other
> compiler but VC++, you are probably excluding the use of a lot of third
> party libraries -- never a good thing to do.



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: abrahams@spam.motu.com (David Abrahams)
Date: 1998/11/10
Raw View
On 10 Nov 1998 19:06:53 GMT, Edward Diener <eddielee@abraxis.com>
wrote:


>I have excluded CodeWarrior from this list since I know nothing about it but I
>have heard that they have the best C++ compliance among Windows C++
>compilers.

Its hard to tell exactly what their level of compliance is because
they haven't published a list of features they don't support. Here are
a few things I happen to know that they don't handle
correctly/completely:

1. No support for std::uncaught_exception()
2. Template member functions/classes must be defined where they are
declared
3. No support for placement delete
4. STL containers not exception-safe
5. No support for "export" (no surprise - nobody has it)
6. In functions which return a value, requires a useless return
statement in each control path that throws exceptions.

I don't know how that compares to the other Windows C++ compilers; I'd
be interested to hear from those who do.

-Dave


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: jcoffin@taeus.com (Jerry Coffin)
Date: 1998/11/07
Raw View
In article <71uquq$15c$1@fir.prod.itd.earthlink.net>, devans@radius-
retail.kom says...
>
>
> With the emphasis on conformance to the Standard, what compilers are
> recommended for use on Win95 / NT ?
> So far I have only used MS VC++ 4.x on these platforms.

MS made major improvements in conformance from 4.x to 5.0.  Though
there were some further improvements in 6.0, they're quite minor by
comparison.  Note in particular, that 5.0 and above have good enough
support for namespaces that it provides a standard library that's
quite close to conforming.  There are still kludges to work about lack
of support for "typename" and shortcomings in the compiler's template
support.

Intel sells a C++ compiler (based on the EDG front-end) as part of the
VTune package.  This does NOT include its own standard library -- it's
intended primarily to replace the VC++ compiler for use along with the
rest of the VC++ package.  The compiler itself has about as good of
standard conformance as anything on the market and better than most.
If I'm allowed to put in one other plug: it has about the best
optimization of any compiler available for Intel processors.

egcs 1.1 has the advantage of being available for free.  Its core
compiler is roughly on a par with Intel's for conformance.  However,
its standard library is currently well behind VC++'s in terms of
conformance.  If you're interested primarily in compiling portable
programs, the compiler works reasonably well.  It has some support for
doing native Win32 things (e.g. writing DLLs) but it's poorly
documented at best, and appears to me a little weak even when you
figure out how to make it work.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: kanze@gabi-soft.fr (J. Kanze)
Date: 1998/11/09
Raw View
Sidney Steward <ssteward@erols.com> writes:

|>  Dave Evans wrote:
|>  >
|>  > With the emphasis on conformance to the Standard, what compilers are
|>  > recommended for use on Win95 / NT ?
|>  > So far I have only used MS VC++ 4.x on these platforms.
|>  >
|>  (snip)
|>
|>  I've recently decided to move from MS VC++ 5.0 to gcc version
|>  egcs-2.91.57 (egcs-1.1 release) since, judging from my very informal
|>  testing, gcc handles templates better.  I use the Cygwin distribution on
|>  NT [1].  There's a case posted in comp.lang.c++ (by me) where gcc
|>  template handling outperforms MS VC++ 6.0 as well.
|>
|>  True, template handling is only one facet to a compiler.
|>
|>  I'm very curious to know what others have experienced, esp. in terms of
|>  Standard conformance.

It has nothing to do with standards compliance, but if you use any other
compiler but VC++, you are probably excluding the use of a lot of third
party libraries -- never a good thing to do.

Ideally, now that there is a standard, all platforms will produce a
standard API for all compilers to conform to, and the library issue will
go away.  In the case of Windows, however, I wouldn't hold my breath
until it happens.

--
James Kanze    +33 (0)1 39 23 84 71    mailto: kanze@gabi-soft.fr
GABI Software, 22 rue Jacques-Lemercier, 78000 Versailles, France
Conseils en informatique orient   e objet --
              -- Beratung in objektorientierter Datenverarbeitung


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Dave Evans" <devans@radius-retail.kom>
Date: 1998/11/06
Raw View

With the emphasis on conformance to the Standard, what compilers are
recommended for use on Win95 / NT ?
So far I have only used MS VC++ 4.x on these platforms.

[ moderator's note: HTML attachment as copy of the message removed.
  Please do not submit html messages, and please do not use attachments
  of any kind. Include all material inline in the message. -sdc ]



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Sidney Steward <ssteward@erols.com>
Date: 1998/11/06
Raw View
Dave Evans wrote:
>
> With the emphasis on conformance to the Standard, what compilers are
> recommended for use on Win95 / NT ?
> So far I have only used MS VC++ 4.x on these platforms.
>
(snip)

I've recently decided to move from MS VC++ 5.0 to gcc version
egcs-2.91.57 (egcs-1.1 release) since, judging from my very informal
testing, gcc handles templates better.  I use the Cygwin distribution on
NT [1].  There's a case posted in comp.lang.c++ (by me) where gcc
template handling outperforms MS VC++ 6.0 as well.

True, template handling is only one facet to a compiler.

I'm very curious to know what others have experienced, esp. in terms of
Standard conformance.

Sidney

[1] http://sourceware.cygnus.com/cygwin/


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]