compiler needed

A4f6704ae9a9e97c737dab82208ff9a1
0
sk0rg3 101 Mar 07, 2013 at 18:57

im looking for a good C++ compiler i tried many different ones, (use what ever i had at the time).
what are you suggestions

12 Replies

Please log in or register to post a reply.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Mar 07, 2013 at 19:11

What language do you want to compile?

A4f6704ae9a9e97c737dab82208ff9a1
0
sk0rg3 101 Mar 07, 2013 at 19:12

C++
sorry thought i put that in the OP

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Mar 07, 2013 at 19:16

For Windows, Visual Studio is where it’s at. The Express Editions are free and include just about everything you’d want; you can download them from Microsoft’s website.

For Mac OS / Linux, it’s gcc of course. If you want to maintain Linux compatibility and work on Windows, mingw is a popular re-packaging of gcc for Windows.

Another popular and good one is clang. I haven’t used it myself, but it’s cross-platform and supposed to be better than gcc in some ways.

A4f6704ae9a9e97c737dab82208ff9a1
0
sk0rg3 101 Mar 07, 2013 at 19:19

ok
thanks for the suggestion
VS 2012 doesnt work on vista would 11 work

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Mar 07, 2013 at 20:46

I still use VS 2010 myself and so do many other people. A lot of third-party libraries and stuff aren’t even compiled for VS 2012 yet. (There is no VS 2011; the previous version was 2010.)

B20d81438814b6ba7da7ff8eb502d039
0
Vilem_Otte 117 Mar 08, 2013 at 02:06

For C++ Visual Studio is suprisingly really garbage. Yeah it has nice environment, it has intellisense in editor, but compiler is basically useless. I also don’t mention that MSVC doesn’t stick to C++ standards (neither to C standards), there are severe bugs within standard C++ library shipped with MSVC.

If you’re looking for decent compiler (and I mean just compiler), you should stick with either gcc (Gnu Compiler Collection) and it’s g++, or Clang (which actually uses LLVM - Low Level Virtual Machines - that produce really high quality code for target machine), respectively clang++. These 2, especially clang, produces high quality (even readable!) assembly, clang also gives you very good error messages (gcc gives you garbage error messages, error log for single little forgotten ‘;’ can grow to like 1k lines output in terminal).

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Mar 08, 2013 at 02:50

@Vilem Otte

For C++ Visual Studio is suprisingly really garbage. Yeah it has nice environment, it has intellisense in editor, but compiler is basically useless.

That is a strong statement considering all the perfectly good projects that have been developed in VS and the many thousands of software companies that use it. :)

B5262118b588a5a420230bfbef4a2cdf
0
Stainless 151 Mar 08, 2013 at 08:40

Yes, VS is actually very good. Okay it has a few bits and pieces that are not perfect, it leaves a lot of little bits of memory unused and I hate intellisense, but it’s very good.

The next best I have used is devcpp, which is free. There are loads of libraries available for it and you can browse and install them from within the ide.

A lot of people use eclipse with mingw, but that really is a personal preference. It’s a bit like the blender / max thing. The guys who can afford it buy max, the people who can’t use blender, then get religious about it. But if you have used max you hate blender…. it’s one of those things.

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 103 Mar 08, 2013 at 08:43

i use -> vs2010, but it probably is garbage :D

B20d81438814b6ba7da7ff8eb502d039
0
Vilem_Otte 117 Mar 08, 2013 at 10:51

#Reedbeta - yup it is strong statement. I personally also use it for some projects, and it is really good to work inside. As I mentioned, I was speaking about compiler quality (not the IDE) -> If I get some time today I’ll post some assembly output from VS/Gcc/Clang for you to compare.

This probably won’t give you problems as long as you stay in VS and Windows, but basically developing things like operating systems is just close-to-impossible in VS (due to compiler).

Also I mentioned standards. VS native C compiler hasn’t got any single existing standard (not ansi, not c89, not c99, not c11, not gnu-extended c, etc.) it seems like using some Microsoft’s own standard (and it is really messy) -> developing any C application in VS is a pain. This is quite a problem, because all libraries should have C interface (for portability & usage in other languages -> that is with C++ close to impossible).

As for standard libraries shipped with VS, they have severe bugs. STL doesn’t support aligned memebers in containers (however according to stdlibc++ and stl specifications it SHOULD), some STL functors have different behaviour than the standard says, somehow MS prefers it’s own system functions over LIBC ones (which makes annoying thousands of warning lines during compilation), etc. Though these things can be ignored or better “repaired” (by using some different implementations of standard libraries) -> but why can’t Microsoft at least use standards and clean standard libraries?

B5262118b588a5a420230bfbef4a2cdf
0
Stainless 151 Mar 08, 2013 at 13:51

:D because they are microsoft!

820ce9018b365a6aeba6e23847f17eda
0
geon 101 Mar 09, 2013 at 11:53

@Stainless

The next best I have used is devcpp, which is free. There are loads of libraries available for it and you can browse and install them from within the ide.

DevCpp has been dead for a looong time. Code::Blocks is nice on windows/linux but is super-slow on osx.