c++ compiler

Started by
5 comments, last by GameDev.net 17 years, 3 months ago
Hi. Have been out of the loop for a while and my c++ compiler is way out of date. Any recommendations for replacement? My constraints: * Windows platform. * Good 64bit support. * No need for built in editor / explorer (and other managment tools) - i won't use them anyway. * No need for support of "fancy" stuff - basic windows (lean_and_mean) support is all i _EVER_ need. And all of that gets abstracted out of the way at the earliest oportunity - no use of things like MFC. * Given that the price doesn't go completely ga-ga. Any $ that goes towards faster binary is well spent (apps are calculating alot - nearly no user input needed). * I'm not expecting much use of prefetch/sse stuff - but having them won't hurt (aka. not a requirement).
Advertisement
Visual C++ Express Edition is free. Since you don't seem bothered by IDE features, it ships with exactly the same actual compiler as the versions you pay for so I don't see how you'd benefit from spending money on anything else really. I don't know much about its 64 bit support though - I assume it is as good as any.

The compiler has been drastically improved since VS 6.0 and I believe it is now held to be one of the most standards-compliant available.

Digital Mars has a free C++ compiler that is the fastest in terms of compilation time that I have ever seen but I don't know about the actual execution speed compared to others and since it is a non-commercial project I guess the bug-reports aren't actioned as quickly. It is still a fine piece of work though and my preference for a command line compiler.
If it wasn't for lack of 64bit support, the Microsoft Visual Studio Express Edition would've met all your requirements - even for free! The Standard Edition comes with native 64bit support and isn't too expensive.
See Product Comparison Chart.

If you're looking for a fairly decent compiler and aren't too concerned about the code it generates - how about good ol' GCC? Go to MinGW and grab your *NIX/POSIX tool chain (gcc, make, etc.). Using that (comes with GCC 3.4.5) you can grab the latest stable GCC 4.1.1-sources and upgrade your free GNU build system that way. Feel free to correct me, but I found that MC++ v7.1,v8.x and Intel C++ produce much tighter code than GCC, both in terms of performance and sheer code size [smile].

I cannot recommend the Borland compilers. On the plus-side they have a free "community" edition, support Microsoft C++ libraries and have a quite compliant Dinkumware-supplied standard library, but I found them to be inferior when it comes to template meta-programming. If you want to have a look, though, here's how to get the free version.

Then there's Digital Mars C++ 8.49. I cannot comment on that because I never used it, but it's free/inexpensive (the CD costs ~$40), offers a lot of C99 features, claims to be the fasted in terms of compile/link time and uses SGI's and STLPort's STL implementations.
I don't know about 64bit support, though.

Have fun and happy coding,
Pat

EDIT: beaten! [lol]
Quote:Original post by darookie
If you're looking for a fairly decent compiler and aren't too concerned about the code it generates /.../
I'm very concerned about the generated code ;) - i think i wasn't clear enough on this.

So, to summarise 'EasilyConfused' and 'darookie' appreciated info, my choices are:

* MS Visual C++ Standard Edition

... and that prety much surrounds my choices it seems. :/

Have myself found Borland products somewhat ... half-assed. Seems it hasn't changed much.

MC++ v7.1,v8.x - could not identify what that is (too many false positives). Any additional information (64bit?) welcome.

Digital Mars - their home looks like a waste pit ... not very promising :(

GCC, MinGW, and something else i can't remember - i quess won't cut it.
"MC++ v7.1,v8.x" is just referring to MS Visual C++ (7.1 == 2003, 8.0 == 2005).

The Intel C++ Compiler usually seems pretty good at generating code. It requires Visual C++ for all the standard libraries and stuff, but I believe the free VC++ Express Edition would be perfectly adequate for that. It does 32-bit and 64-bit (and Itanium), it works on Windows (and acts compatibly with MSVC) and also on Linux (and acts compatibly with GCC), it doesn't have an IDE (it integrates with the MSVC IDE, or you can just use the command-line tools), it does do prefetch/SSE/etc things. It looks like the normal retail price is $400, or $100 for students, but maybe various prices through other means, and the Linux version is free for non-commercial use.

It might not be enough better than VC2005 to be worthwhile for what you need, but at least it's an extra option [smile]
Quote:Original post by tanzanite7
GCC, MinGW, and something else i can't remember - i quess won't cut it.


If it's performance you're interested in rather than unreferenced opinions, you could look at the numbers comparing GCC and Intel's compiler (no MSVCC at the link and it's a little dated -- by a couple of major versions).

Given that folks like IBM, HP, and Apple are behind GCC there's no reason to rely on guesses that it performs poorly.

--smw

Stephen M. Webb
Professional Free Software Developer

Quote:Original post by Bregma
Quote:Original post by tanzanite7
GCC, MinGW, and something else i can't remember - i quess won't cut it.


If it's performance you're interested in rather than unreferenced opinions, you could look at the numbers comparing GCC and Intel's compiler (no MSVCC at the link and it's a little dated -- by a couple of major versions).

Given that folks like IBM, HP, and Apple are behind GCC there's no reason to rely on guesses that it performs poorly.

--smw


Unforunately, GCC 4 is not as performant as 3, as far as I remember from about 1 year ago. They switched to a new SSA form, which once they work on it for a while, will make things a lot easier, but right now its slower.

This topic is closed to new replies.

Advertisement