Archived

This topic is now archived and is closed to further replies.

Compiler poll

This topic is 5050 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

What compiler of the following compilers of C/C++ you consider the best, the second best, the third ... 1. VC/C++ 6.0 2. VC/C++ .net 7 3. VC/C++ .net 2003 4. GCC 3.3.2 5. Intel C/C++ compiler 7.1 6. Borland C/C++ 5.5 best compiler = optimizations, support for language''s things, speed compiling, number of options ... don''t flame me, its only curiosity and fun, thanks

Share this post


Link to post
Share on other sites
ive heard that microsoft compilers are the best for compiling windows code (makes sense i guess!). Ive used .Net and visual c++ 6 of these, and think .Net is the best, just for organisation of info and stuff. Ive used borland too when i first learnt c++, i like it too but i wouldnt really consider using it again really.

[edited by - blimeyOReilly on February 20, 2004 7:46:59 AM]

Share this post


Link to post
Share on other sites
I''d put them in the following order:
1. Borland 5.6.4 - free, user-friendly error messages, fast compilation.
2. GCC 3.3.2 - free, very standards compliant, can get free and easy to use profiler and debugger.
3. VC++ .NET 2003 - finally pretty standards compliant but a nightmare to use from the command line. Not so familiar with this one.
<gap>
999. VC++ 6 - Ugh. Never used it, but the amount of time I''ve spent fixing other people''s code so I could compile it because of non-standard stuff... Ugh.

Not used: VC++ .NET 7, Intel C++.

Enigma

Share this post


Link to post
Share on other sites
ICC is up to 8.0 now.
I just did an entirely unscientific comparison between it and VC7.1 on our codebase.
- Build time is about the same.
- I can''t judge optimization for speed, because our profiler isn''t done yet. I have read in benchmarks that ICC stomps VC, though.
- Executable size is strange with ICC: it ended up 360 KB with O2 (optimize for speed), and 400 KB with Ox (full) and ''prefer smaller size over speed''. Yes, processor extensions are disabled, so it isn''t making a separate codepath for 3 CPUs. VC got 230 KB. Shouldn''t really draw conclusions from this, I haven''t tried different optimization/option combinations.
- Now warnings: ICC has great L4 warnings (''remarks''), and even makes sure printf et al are typesafe! I love it On L3, though, signed/unsigned comparisons and the like are allowed without complaint. VC is the opposite - doesn''t catch printf errors, but is better about reporting other mistakes (on L3). I find VC''s error strings better, and it''s useful to have online help on a particular one if the message is unclear.
- Internal Compiler Errors. Had a few in both, but somewhat more often in ICC. They are constantly updating, which is good, but shows there have been many problems. I''ve had a showstopper bug with the VC7 debugger and hand-written asm: it was changing data in memory, and even addresses within the code. I ripped my hair out finding that.

Conclusion: it''s good to have both. They each give a different ''perspective'' on mistakes in the code, and you can continue with the other if one has choked for some reason on the code. ICC integrates seamlessly into the IDE, you can switch between compilers with a project settings switch.

Now the other compilers:
used BCC only briefly (command line - makefile - ugh). no comparison possible.
GCC - used it for an uni project; can''t really compare to the others, either. I hear they later went back to using 2.95, though, because of compiler bugs.
VC6 is a crock. More frequent ICEs; cannot handle ''advanced'' templates (that includes total-length-of-template < 255, as we painfully found out); the optimizer sucks. I don''t have it installed at the moment, but I do recall it compiling faster, though.
I had 7.0 for a time. Didn''t notice all too much of a difference to 7.1. I suppose the hide-a-block-of-code feature might be useful, but I never have after the novelty wore off.

That''s my subjective experience. Search for actual benchmarks, I recall several.

Share this post


Link to post
Share on other sites
I like gcc, mainly because I don''t run windows anymore (I run gentoo linux now). I like the command line a lot better than an IDE, mainly because I feel I have more control. I still have visual C++ .NET 03, but I stopped using it a few months before I made the switch.

Share this post


Link to post
Share on other sites
Alright, well the first best compiler would be GCC 3.3, because I can use it on all of the systems I own, and it is integrated into my primary IDE(Xcode). The second best, at least in my opinion, isn''t listed. I actually like sun''s c\C++ compiler for Solaris because at least for now, when I develop C++ applications for a CIS class, my professors will compile/run their code in solaris, and that is better for that platform than GCC . Then if I have to use an x86 compiler, I would probably use Borland''s C/C++ compiler, since it is fairly standards compliant. If I go more with Objective-C, then GCC will be my one and only option though.

Share this post


Link to post
Share on other sites
MSVC.net
GCC
ICC

msvc 7 just because, gcc because its portable, and icc because it produces fast code.

Personally I would also like to add Digital Mars Compiler into that list, as I use that because its the fastest compiler I''ve ever used (as in it doesnt take long to compile things - Handy for when your making lots of small changes to a big project.)

Share this post


Link to post
Share on other sites