Archived

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

Ninkazu

best compiler?

Recommended Posts

I''m torn between what compiler to use for my projects. I''ve heard gcc and G++ are very good, but I know nothing about them. I know a little Dev-Cpp, but it''s not as good as the others. I know most about VC++6 but that''s the crappiest of all (in terms of most optimized executables). Could you guys help me out? If you suggest something, please send some links where I can learn how to use it...

Share this post


Link to post
Share on other sites
Dev-C++ rules in my opinion (I''ve said it a thousand times and I''ll say it again, every day, when I wake up ).

It doesn''t offer all the (useless) features of MSVC++, just the things you need for a fast development. Off course it''s only 99% bugfree, but it''s just a matter of time befor it comes totally bugfree.
The fact that it has a MSVC++ project importer that actually works has me bound to this product. My engine - work in progress - is developped with it (already over 12.000 lines of code made with Dev-C++) and I can only say that I keep on loving Dev-C++ more and more (*).



(*) Off course not as much as you, Marjolein (**)

(**) yes, she''s a developper too and also on this forum

Share this post


Link to post
Share on other sites
Lol, here I am.

I always use Dev-C++ because Vich keeps telling me how much he loves it Till now I''ve never loved compilers, a boyfriend is enough for me
I prefer it above Microsoft Visual C++, I can''t come up with good arguments for that because I don''t have them.

Share this post


Link to post
Share on other sites
You ask a religous question, the answer is a flame war

They are both good. I usually suggest MSVC since it is the de facto industry standard, and most tutorials are written using it.

Dev-C++ is pretty good too. I use it about 1/3 of the time. I like them both.

Share this post


Link to post
Share on other sites
Hum gcc don't produce best executable, msvc seems a little faster (e.g. http://www.boost.org/libs/smart_ptr/smarttests.htm ), and for real performance look for Intel or Vector{C} compilers.

For standart conformance gcc is the best but msvc is really near with version 7.1, look at http://boost.sourceforge.net/regression-logs/

I use boost as a bench for standart compliance because boost is really usefull when using C++.


And for IDE I use MS VS .Net which is the best I found.

[edited by - JesterLeCodeur on May 4, 2003 4:47:02 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by Ninkazu
I know most about VC++6 but that''s the crappiest of all (in terms of most optimized executables).



Wrong. VC++ 6 produces more optimized executables than GCC.
VC.NET improves on VC++6 and VC.NET 2003 produces the best optimized code of any compiler. But don''t take my word for it. Compare the generated assembly yourself.

Share this post


Link to post
Share on other sites
There is no "best" compiler. There is just personal preference. I like Visual Studio.



- Rob Loach
Current Project: Go Through Object-Oriented Programming in C++ by Robert Lafore

"Do or do not. There is no try."
- Yoda

Share this post


Link to post
Share on other sites
for win I like MSVS 6 because I can get a C++ app up and running in a few seconds unlike .NET I get hell. for linux I am using kdev 2.1, I like portable code.

Share this post


Link to post
Share on other sites
quote:
Original post by Rob Loach
There is no "best" compiler. There is just personal preference. I like Visual Studio.


I was just going to ask why does there always have to be a "best," as with the c is unnecessary thread, it all comes down to preference of some features over others.

Share this post


Link to post
Share on other sites
Isn''t the "best" compiler the one that generates the best code, and does it the fastest?
I''m curious.. why do I hear so much about vs7 (vs.net) "giving people hell"? It can do everything that vc++6 does, but better. Its also easy to port your vc6 project files to vc7.

Share this post


Link to post
Share on other sites
quote:

Isn''t the "best" compiler the one that generates the best code, and does it the fastest?



Not necessarily. It''s the one that you prefer to use on an ongoing basis. One may produce faster code than another, but it may not be the easiest environment to use. Personally, I like Visual Studio, because it has lots of useful IDE features (ClassView?), and the useless ones don''t get in the way.

Share this post


Link to post
Share on other sites
Well for starters, you need to separate the compiler and the IDE. They are two separate programs.

Personally, I have found the Visual C++ .Net IDE WITH Visual Assist (by WholeTomato Software) is *HANDS* down the BEST IDE available. Unfortunately this set up is not exactly free. You can get Visual C++ Standard .Net for $90 and Visual Assist is like $80 I think.

Now for compilers, I am quite partial to MinGW (GCC 3.2.2). It is a really good compiler and is nearly fully standards compliant (minus a few bugs). My main complaint with GCC is it doesn''t seem to support covariant return types in conjuction with virtual multiple inheritance but that is another story. Also it is a little slow due to lack of precompiled header support.

Now for the best compiler overall I''d have to say it is Intel''s compiler. It isn''t that expensive (relatively, at $500) and it is fully standards compliant (or so they claim). The problem with intel''s compiler though is it still relies on the MS compiler to do dependency generation. So if the MS compiler won''t compile the code you got problems. This basically makes the fact that the intel compiler is fully compliant rather pointless.

I haven''t tried any of the minor Intel releases on their compiler in the last 6 months, so maybe that has changed.

Also, I am able to get VS .net Standard to call make files, but I could not get the intel compiler to integrate into the IDe with the standard version. I doubt that is an error, I bet MS does that on purpose to force you to get their $1500 version that comes with all that crap you don''t need or want (ie VB C# etc).

Anyways, yes this is a question that everyone will have a different answer for.... but if you listen to one thing I said, listen to the part about Visual Assist, that plugin kicks TOTAL ASS!

Jeff

Share this post


Link to post
Share on other sites
quote:
Original post by Ninkazu
Well, all I''ve bought is VC++6, so... I''m trying to know what''s the best of that and other free compilers out there.


But do you have the standard edition, or proffesional/enterprise edition? since the standard edition is very bad at optimizing.


My Site

Share this post


Link to post
Share on other sites
Bah, nobody mentioned Borland C++ Builder 6.0? I'm disappointed! hehe.

I've been using mainly that (3.0, 4.0, 5.0 and now 6.0.) ever since I migrated from DOS pascal to Windows and C++. I've never "felt" that it is weaker than any other compilers, and I'm having no problems compiling anything I like (ie. now with DirectX 9.0).

Is C++ Builder weaker than the others? I alwasy liked the high ANSI/ISO compliancy.

[edited by - beowulf on May 5, 2003 2:17:10 PM]

Share this post


Link to post
Share on other sites
bah...

all you visual c sux.
intel''s compiler is the best one. and if you like to use gnu packages, then gcc is the best. but microsoft''s compiler is completely useless. it''s slower than gcc and produces worse code. for more it''s official price is INACCEPTABLE!!! i will never pay for a BAD COMPILER!!! and have i mentioned VC++ .NET doesn''t run on win9x while gcc & intelC have no problems with it?

and yes... borland''s compiler is even worse than microsoft''s one

Share this post


Link to post
Share on other sites
quote:
Original post by 666_1337
bah...

all you visual c sux.
intel''s compiler is the best one. and if you like to use gnu packages, then gcc is the best. but microsoft''s compiler is completely useless. it''s slower than gcc and produces worse code. for more it''s official price is INACCEPTABLE!!! i will never pay for a BAD COMPILER!!! and have i mentioned VC++ .NET doesn''t run on win9x while gcc & intelC have no problems with it?

and yes... borland''s compiler is even worse than microsoft''s one



You can hate VC++ but don''t lie about it. The code is in fact faster than GCC in almost all cases, and the code is fine. The intel compiler only works on intel proccessors, too, which is why it''s faster (intel-specific optimizations). There is no "best" compiler, just pick one and use it, and if you hate it, try something else.


-~-The Cow of Darkness-~-

Share this post


Link to post
Share on other sites
quote:
Original post by beowulf
Bah, nobody mentioned Borland C++ Builder 6.0? I''m disappointed! hehe.

Is C++ Builder weaker than the others? I alwasy liked the high ANSI/ISO compliancy.



Borland isn''t weaker than others. Its pretty solid. The only catch is, it''s rather expensive!!! Even with its nice interface, I wouldn''t recommend a beginner to it, since beginners don''t usually don''t want to make that kind of commitment.

Share this post


Link to post
Share on other sites
quote:
Original post by cowsarenotevil

You can hate VC++ but don't lie about it. The code is in fact faster than GCC in almost all cases, and the code is fine. The intel compiler only works on intel proccessors, too, which is why it's faster (intel-specific optimizations). There is no "best" compiler, just pick one and use it, and if you hate it, try something else.


-~-The Cow of Darkness-~-


um...
well, intel's compiler only works for the 386+ family - but microsoft's one also doesn't any more. wouldn't it be strange if intelC would be able to produce code for a apple-, ibm-, or sun-machines?
if you need code for powerpcs !use gcc!. it can even make binaries for mobile phones.

comparing g++ with visual c++ g++ will win in nearly all cases. i'm speaking of g++ 3.2.2 vs. vc++ 7.net. and you cannot say that vc++'s code is finer than g++'s one, since gcc has been designed to make elf binaries and vc++ uses windows-like thingies (don't know the name o_O). if you use gcc on windows, gcc has to use the foreign function access, and is therefore slower. on a linux system g++ code is 15% slower than intel code, and on windows it's nearly 30.
so don't use gcc in windows, for it's (still) bad. but i said use gcc if you like the gnu packages, and since windows-programmers usually don't like them, intel's compiler is the best for them.

[edited by - 666_1337 on May 6, 2003 10:46:54 AM]

Share this post


Link to post
Share on other sites
All that I can say is Viva La Microsoft! So go out there and get yourself a copy of Visual C++.net; However, if you are cheap DevC++ is an okay compiler, and can be found at Bloodshed.net. I have used this compiler a couple of times and then got MVC++.

When are we going to research Artificial Retardation?

[edited by - add_ai on May 6, 2003 1:29:25 PM]

Share this post


Link to post
Share on other sites