Best C++ Compiler
#1
Posted 27 November 2008 - 02:53 AM
#2
#3
Posted 27 November 2008 - 12:51 PM
-
Currently working on: the 3D engine for Tomb Raider.
#4
Posted 27 November 2008 - 08:17 PM
#5
Posted 27 November 2008 - 08:19 PM
.edit: it seems that you are right. VC++ Express is lacking 64 bit support (but you can get the command line compiler with the Windows SDK), a resource editor, and ATL, MFC or OpenMP support. http://en.wikipedia....C.2B.2B_Express
-
Currently working on: the 3D engine for Tomb Raider.
#6
Posted 27 November 2008 - 10:42 PM
#7
Posted 28 November 2008 - 12:47 AM
-
Currently working on: the 3D engine for Tomb Raider.
#8
Posted 28 November 2008 - 01:05 AM
Quote
Compiler:
If you're refering to open source, the only choise is GCC( gcc for linux, also known as MingW fow windows). Yes, there are other opensource compilers too but they're all useless.
If you're looking for free compilers, they're only two: GCC and Microsfot c++ Compiler version 8-9 express. But GCC is much better because is more standard and its usability is the same for PC, Consoles (Wii, PS2,PSP,PS3,DS, Dreamcast, Nokia, Palm, Iphone), Mac, Solaris etc. Microsoft Compilers are only for windows.
GCC manages the C++ language compilation following ansi standards, while Microsoft doesn't. Some times the c++ code made for Microsoft compilers are totally incompatible for other compilers (gcc, intel) . Microsoft promotes to break standards and encourages totally dependency to its unique plattform (windows).
Also, GCC supports more languages than c++, like D, Pascal, ADA, Java,ObjetiveC, Fotran etc. Microsoft only C++, nevertheless you want to use .NET framework for programming in other languages like C#.
IDE
Compilers , Easy to use? never, because tipically compilers aren't easy to use. All of them need to be used in similar ways: command line primitives, and they aren't obvious.
But may you're refering to IDEs for programming in c++. There are four c++:
- Visual Studio C++ IDE 2005 - 2008: The most used, the most popular. It isn't easy to use at all. Complete features. Robust interface for debugging code. Responsible and accurate Intellisense. Configuring projects on it is a little complicated. A little bloat and consumes machine resources. MultiCompiler??
- Code::Blocks: Open source and free. The easiest to use IDE. Crossplatform. Lightweight. Has intellisense, but not always accurate. Its editor is similar to Visual Studio but I found it more easier for navigating through the code. It allows to configurate projects very easy. Productive. Multi-Compiler : VC, GCC, Intel.
- Netbeans.Open source and free. Crossplatform. Similar to Visual Studio IDE, but more heavyweight and bloater. Works for c++ through a plugin (that's bad). Consumes a lot of machine resources. ITs intellisense is not always accurated. Debugging code on it is not as pleasurable as on Visual Studio or CodeBlocks. Not so productive. Multi-Compiler : VC, GCC, Intel. works with many languages: java, c++, php etc.
- Eclipse. Open source and free. Crossplatform. Similar to Visual Studio IDE, but more heavyweight and bloater. Works for c++ through a plugin (that's bad). Consumes a lot of machine resources. ITs intellisense is not always accurated. Debugging code on it is a totally hell. Not so productive. Hard to use. Multi-Compiler : VC, GCC, Intel. works with many languages: java, c++, php etc.
For c++ engines:
If you have to use DirectX, the only choice is Microsoft Visual Studio C++ because DirectX is microsoft stuff. Otherwise I highly recommend Code::Blocks for everything, the most productive IDE. And also I highly recommend GCC above the 4.1 version, because is a very efficient compiler and produces faster executables, and also has more hardware profiles than Microsoft (support for Core 2 Duo).
But if you want the most efficient applications for c++, you should work with Intel Compiler, which isn't free. However, GCC 4X produces applications with a closer performance to the ones produced by Intel compiler.
#9
Posted 28 November 2008 - 03:13 AM
.oisyn said:
Cool. I just have Ctrl+E bound as an "external tool" that `p4 edit`s the active file and everything else I do through p4v (Perforce GUI).
#10
Posted 28 November 2008 - 10:59 AM
leoptimus said:
If you're refering to open source, the only choise is GCC( gcc for linux, also known as MingW fow windows). Yes, there are other opensource compilers too but they're all useless.
If for some mysterious reason you need to make a 16-bit DOS application, openwatcom can't be beat. =)
#11
Posted 28 November 2008 - 11:40 AM
leoptimus said:
If you're looking for free compilers, they're only two: GCC and Microsfot c++ Compiler version 8-9 express. But GCC is much better because is more standard and its usability is the same for PC, Consoles (Wii, PS2,PSP,PS3,DS, Dreamcast, Nokia, Palm, Iphone), Mac, Solaris etc. Microsoft Compilers are only for windows.
Quote
As for the rest of your post, stop spreading your FUD.
-
Currently working on: the 3D engine for Tomb Raider.
#12
Posted 28 November 2008 - 08:20 PM
Quote
I would prefer gcc for philosophical reasons but it's true that VS had some serious improvements over the last years. If you enable ISO C++ mode in VC++ it's a lot more picky than gcc.
Anyone who still remebers the for (int i=0; ...; ...) bug in VC 6 is bound to hate it. I currently port a lot of code between Linux and Windows tough and need to keep it working on both platforms. I have to say that the issue is hardly there anymore. Most of the stuff I am really concerned with is missing POSIX stuff in VS but that's a thing they never promised in the first place, so I can't complain about that.
I might add that in my experience VC++ is no match for gcc 4.1 upwards regarding performance. That is a highly opinionated statement though and I don't have hard data to back it up.
#13
Posted 28 November 2008 - 08:26 PM
#14
Posted 28 November 2008 - 10:53 PM
anubis said:
Do you mean in terms of compilation performance or performance of the generated code? On larger projects, or smallish ones?
I've seen VC++'s optimizer to be generally superior to that of gcc. As for the compilation performance, it's hard to say, but I feel like VC++ might be slightly better at incremental compilation, i.e. recompiling only things that have been affected by a code change. Like you, though, I don't have any hard data on this.
#15
Posted 28 November 2008 - 11:50 PM
anubis said:
Quote
-
Currently working on: the 3D engine for Tomb Raider.
#16
Posted 29 November 2008 - 12:47 AM
Reedbeta said:
About generated code, GCC 4.2 (Mingw) and Microsoft C++ compiler, both always produce efficient and optimized applications. Some programs run faster when they're generated with Mingw, and other could run faster if they're compiled with Microsoft C++ compiler. There are a lot of aspects that makes an application more hardware efficient. F.E: the STL library from GCC it's more efficent that the one present in Microsoft Visual C++ (in my personal benchmarks), but SIMD code could be a little faster if it is generated on Visual Studio.
The story was different in times of GCC prior to 4x version (2.x to 3.3); in that time GCC couldn't beat Microsoft in generated code.
About compilation time, VC++ has been always the fastest. But the difference is not noticeable comparing with gcc, even for big projects (with more than 1000 source files the difference is only about minutes (3-5)).
The choice is that if you want cross-platform, you should use GCC for everything. The fact is that is really hard to make cross-platform code with VC++. You must decide between Windows and Open-Standards.
But if the Windows world is what you think that only matters, go straight foward with Microsoft Visual Studio.
#17
Posted 29 November 2008 - 01:06 AM
Quote
Execution performance. What I base this on is ray tracing and modelling algorithms I have implemented. I don't know if gcc is able to optimize certain areas especially well. As I said... I'm not claiming truth on this :)
#18
Posted 29 November 2008 - 01:44 AM
-edit-
As of version 2.4 of LLVM, 64-bit Windows is still unsupported. That is slated to come in version 2.5.
#19
Posted 29 November 2008 - 03:21 AM
leoptimus said:
If you have to use DirectX, the only choice is Microsoft Visual Studio C++ because DirectX is microsoft stuff.
Is there any validity to this statement? I have not tried MinGW (for example) and DirectX but would be rather surprised if it is not possible.
#20
Posted 29 November 2008 - 05:00 AM
leoptimus said:
Actually, I've developed a couple projects (luabridge as well as my raytracer, "stanley"), that compile in both MSVC and gcc, and I didn't have much trouble at all getting both builds to compile warning free from one code base.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












