hi
can any one help me
which is the best C++ compiler one can download it freely for C++ programming
i will appreciate if some one post any web links for this
cheers
reddy

Recommended Answers

All 39 Replies

Define "best"...
Also define your operating system...

Microsoft has a good free compiler, but if you're working on unix or mac that will do you little good.
Borland has a good free compiler as well.

What do you want from your compiler. Some have better standards compliance, others may generate faster applications or smaller ones.

my operating system is windows 2000
i am the beginer to learn C++
can you give me some web link
cheers


Define "best"...
Also define your operating system...

Microsoft has a good free compiler, but if you're working on unix or mac that will do you little good.
Borland has a good free compiler as well.

What do you want from your compiler. Some have better standards compliance, others may generate faster applications or smaller ones.

Define "best"...
Also define your operating system...

Microsoft has a good free compiler, but if you're working on unix or mac that will do you little good.
Borland has a good free compiler as well.

What do you want from your compiler. Some have better standards compliance, others may generate faster applications or smaller ones.

I go along with that.

I have tried out several free compilers and feel most comfortable with the Dev-C++. The total package is relatively small in size and comes in windows and linux flavors. For me it is perfect to test out the limits of the C++ language. It compiles fast and makes experimentation easy. I also recommend it to my students.

http://sourceforge.net/projects/dev-cpp/

If I would produce a program to sell, I would spend the money and buy a professional system from Mister Bill.

Some other free compiler systems try to take over your computer, smearing their files all over, that I don't like!

http://www.borland.com/products/downloads/download_cbuilder.html and select "compiler".
This will give you a (nearly) fully ANSI compliant compiler.
http://www.microsoft.com/downloads/details.aspx?FamilyID=272be09d-40bb-49fd-9cb0-4bfa122fa91b&displaylang=en will give you the latest Microsoft compiler.

Either will serve you well. Neither comes with an IDE or full documentation (that's what you pay for if you buy the full products).
The Microsoft compiler is newer but that shouldn't bother when learning.

For best learning ANSI C++ try your creations with both, if it works in one and not the other (IF both are correctly installed and configured) your source is likely not fully ANSI compliant.

Some other free compiler systems try to take over your computer, smearing their files all over, that I don't like!

you probably refer to the Microsoft VC++ free compiler. It doesn't do anything except upgrade (if required) your .NET runtime environment which is a good thing (if it didn't something else would do it sooner or later, probably Windows Update).

you probably refer to the Microsoft VC++ free compiler. It doesn't do anything except upgrade (if required) your .NET runtime environment which is a good thing (if it didn't something else would do it sooner or later, probably Windows Update).

Now, as you mention it. I was referring to the free VC++ Express beta package that tries to install a beta version of the SDK version 2.0. It looks like different versions of the SDK can not peacefully coexist on the same computer. Do you have any experience with this?

no, I haven't tried that.
But I'd not be surprised as the SDK needs the runtime (during debugging sessions for example).
Newer runtimes may well be able to substitute for old ones so as long as you install them oldest first you may be fine.

I think the best one, for a beginner would be boreland's compiler(for its more user friendly)
You may also choose for bloodshed, even that would do for an advanced user, if you wanna use it for that purpose and yes, when pls try to install it to your system drive else it would ask you for installation drive(boreland's driver in particular).
And you may search it on google, i downloaded borelands compiler from http://altd.codegear.com/download/museum/tcpp101.zip
and
you may search for bloodshed on download.com

commented: Old Thread Post -2
commented: Why the hell would anyone want to use some ancient fossil -4

Never use old Borland C++ compilers (except for dog fights with deviations of C++ standard).

The best free C++ compiler + IDE now is VC++ 2008 Express edition, of course. Regrettably, its distribution size is ~200 Mb + ~200 Mb for MSDN Expess (if you want more than rudimentary help) + ~150 Mb of Windows SDK (if you want Windows API).

Otherwise I think the best choice (especially for beginners) is Code::Blocks IDE with MinGW port of GNU C++ compiler. It's a compact and relatively well-supported system.
http://www.codeblocks.org/

Dev-C++ IDE (with the same MinGW ported compiler) was a good choice some year ago. As far as I know it's a frozen project now (old versions of MinGW etc).

Well, I think that in more recent versions of c++ compilers, displaying output is difficult and I suggested boreland for beginner..
I guess its more user friendly!

If everyone is giving opinions, I would also cast my vote to GNU GCC
If you are on a Linux, you probably already know about it.
GNU g++ is the command line compiler. But there exists various IDE like Dev-C++ which uses GNU g++ as the compiler.
I personally use a normal Text Editor and Commandline.
But you may also like to have a look at CodeBlocks which is a free IDE.
On windows, there exists MinGW as a port of G++.

So, if you ask me a good compiler on windows, my opinion goes with
MinGW gcc, with CodeBlocks
http://www.codeblocks.org/downloads/5


Although, compiler's completely depends on taste of the programer.

I am sorry ArkM , I didnt notice you already have told him about GNU g++

So guys, Can you please tell the output?? Which one you found out as the best one for C++?? I am also a C++ Beginner.

So guys, Can you please tell the output?? Which one you found out as the best one for C++?? I am also a C++ Beginner.

What output? Had you bothered to read this thread you would have seen that it's not about output, but about compilers.

Which one is best? The answer is: it depends..

Get your Mingw compiler for cross platform (In Linux you have already GNU GCC). If you love bundles get your CodeLite IDE or Code::Blocks IDE.

its Borland not boreland

I am also a beginner of C++. I am still using Windows 2000 as my operating system, and in my opinion, Dev-C++ is the best compiler.

Dev-C++ is not a compiler.

You should try having reasons for your opinions in the future, it's a better strategy for being right.

Oh stop being so mean, Rash! :-P The least you can do is be more welcoming to our new members :-P

Welcomegeeklord and markwlering. Don't mind Rash. He's our resident troublemaker.

Dev-C++ may well be the best IDE/compiler for Windows 2000. That os is to old that I'm not sure if any current compiler/IDE will run on it.

Rashakil Fol.
Dev-C++ is a compiler. It compiles source codes in the language C and C++ to object code.
I have used Microsoft Visual Studio C++ 2005 and Dev-C++. The result: Dev-C++ is more user friendly, and it has a better debugger than Visual Studio C++ 2005. I prefer Dev-C++.

Dani.
Thanks for your welcome. :-D

Ancient Dragon.
Windows 2000 is a pretty recent operating system. It is not old like that. Windows 2000 is only 12 years old. If you are looking for an old operating system: MS-DOS.
Dev-C++ is the best compiler for each version of Windows and for Linux. :-)

Dev-C++ is a compiler. It compiles source codes in the language C and C++ to object code.

Dev-C++ is not a compiler, it's an IDE. The default compiler is GCC from the MinGW project, but you can actually change which compiler the IDE uses to compile your code. MinGW's GCC is fine, but the default is a very old version, so it's generally a good idea to switch the default to either a newer version or to a different compiler entirely (comeau is a good one).

I have used Microsoft Visual Studio C++ 2005 and Dev-C++. The result: Dev-C++ is more user friendly, and it has a better debugger than Visual Studio C++ 2005. I prefer Dev-C++.

You're actually the first person I've heard say that Visual Studio's debugger isn't the clear winner in usability (barring Microsoft haters, of course). I think dbg (the back-end debugger) is functional, but awkward, and the interface for it in Dev-C++ doesn't stand out compared to other debugging interfaces.

Windows 2000 is only 12 years old.

In the computing world, 12 years ago is equivalent to the bronze age. MS-DOS would be from the stone age. Comparing the bronze age with the stone age is historically interesting, but not exactly relevant if you're writing new code to be used on modern operating systems. ;)

Dev-C++ is the best compiler for each version of Windows and for Linux. :-)

In your opinion.

decepticon

"Dev-C++ is not a compiler, it's an IDE. The default compiler is GCC from the MinGW project, but you can actually change which compiler the IDE uses to compile your code. MinGW's GCC is fine, but the default is a very old version, so it's generally a good idea to switch the default to either a newer version or to a different compiler entirely (comeau is a good one)."

It does not matter for me or it is old or not. Every program I have made, can also be read by my Windows 7 computer upstairs.

"You're actually the first person I've heard say that Visual Studio's debugger isn't the clear winner in usability (barring Microsoft haters, of course). I think dbg (the back-end debugger) is functional, but awkward, and the interface for it in Dev-C++ doesn't stand out compared to other debugging interfaces."

The debugger of Dev-C++ marks the line where you made the mistake, while the debugger of Microsoft Visual Studio C++ 2005 doesn’t. The debugger of Microsoft Visual Studio C++ 2005 only says in which line the mistake have been made, but it does not mark the line, so you can’t immediately see what you did wrong.

"In the computing world, 12 years ago is equivalent to the bronze age. MS-DOS would be from the stone age. Comparing the bronze age with the stone age is historically interesting, but not exactly relevant if you're writing new code to be used on modern operating systems. ;)"

Every program I have made, can be run in Windows 95, 98, ME, NT, 2000, XP, Vista and 7. It supports nearly every version of Windows, also the new ones.

"In your opinion."

Yes, that’s my opinion. :-D

@markwiering: Just a hint, if you want to quote a previous poster, you can copy the words into your post, then highlight it and click on the "Quote" button in the editor. Or, you can just add a > before the quoted text (which is what the "Quote" button does).

It does not matter for me or it is old or not. Every program I have made, can also be read by my Windows 7 computer upstairs.

There's no doubt that an old compiler is still a working compiler. If you are fine using it, then it's fine. But, there are drawbacks to using an old compiler. Compilers, like everything else, improve over time. Newer compilers are generally faster at compiling the code, can use more advanced instruction sets that are available on more recent machines, they have better optimization capabilities producing faster executables, and they have less bugs and more standard-compliance (i.e., there is standard-abiding C/C++ code that might not be compilable on older compilers because the people writing those compilers may not have got around to writing support for some of the features / requirements of the language's standard). The last point is especially true now since, as of the end of 2011, there is a new standard for C++ (called C++11, or used to be referred to as C++0x) which is only partially supported by bleeding-edge compilers (right now, if you do C++11 code, any compiler that is more than a few months old is unsuitable). Also, some libraries that you might use or want to use might not be backward compatible down to your older compiler (due to lack of standard-compliance, and other bugs / quirks in older compilers, preventing that library from being usable). So, the recommendation to switch to a newer compiler is reasonable, to allow you to use up-to-date C++ techniques and to allow you to use recent libraries in your projects.

As for platform compatibility, the compiler version has little to do with that. This is mostly a matter of which libraries you use (e.g., Win32 API). On a newer compiler, the only thing you might have to do is to set a compiler-flag to disable the newer instruction sets to make it runnable on older, less-capable machines.

I have used Microsoft Visual Studio C++ 2005 and Dev-C++. The result: Dev-C++ is more user friendly, and it has a better debugger than Visual Studio C++ 2005. I prefer Dev-C++.

While I agree that Visual C++ is over-rated as an IDE and I personally don't like it, I have very different reasons for that opinion (slow / heavy-weight, buggy code-analyser (code-completion), configuration nightmares, too Microsoft-bound, poor integration with custom build systems and scripts, etc.). But, the debugger in Visual C++ / Studio products is generally very highly regarded, and in my limited experience with it, I must agree that it is quite impressive, although I don't tend to use debuggers very much, if at all (i.e., experiencing lots of bugs --> becoming really good at finding and fixing bugs --> writing code with much fewer bugs to begin with --> losing your competence at using a debugger --> rigorous unit-testing to avoid having to use a debugger --> never using a debugger at all (and that's where I'm at)).

As for the Microsoft C++ compiler (i.e., MSVC), well, it flat-out sucks. The 2008 version is the first decent compiler from Microsoft, but still quirky. The 2010 version is better, still slow, still unhelpful with errors, and still quirky with a few things (e.g., it's lack of support for integer/boolean arithmetic on template arguments forced me to do a major rewrite in my library!). I haven't tried the release-candidate of the 2012 version yet (MSVC11), but it doesn't look impressive so far. And executables produced by Microsoft compilers consistently look shameful on performance benchmarks in comparison to GCC and Intel compilers (hard to beat, I know).

You might want to give CodeBlocks a try, I like it (on the rare occasions that I use Windows), most people do, and it is fairly recent. It could be a good, free alternative to Dev-C++, which is no-longer actively being developed or improved.

Every program I have made, can be run in Windows 95, 98, ME, NT, 2000, XP, Vista and 7. It supports nearly every version of Windows, also the new ones.

Bowls made by the Mayans and by the Sumerians still work today (if found intact). Which are better? And are they better than the bowls actually made today?

While ancient compilers from pre-2009 work, are they the compilers of choice for the current day professional?

;-)

Bowls made by the Mayans and by the Sumerians still work today (if found intact). [..] are they better than the bowls actually made today?

They're certainly a lot more expensive, so I can only assume they must be better.

commented: That's the best retort I've seen on any DaniWeb forum. +4

older doesn't equate to better. The only reason Mayans bowls are so expensive is because they are very very rare, most of them are probably in musems. A few of the very old compilers/computers (e.g. built before 1980), as well as many typewriters, are also expensive if you wanted to buy them now for the same reason (rare). However it would be a joke if anyone wanted to use them in today's business.

Learning how to use Microsoft compilers is a long learning curve -- you won't learn it over night, and its not really intended for beginners. Code::Blocks is a lot easier to learn, and its portable between operating systems. That doesn't make CB a better IDE than VC++, its just easier to learn.

Acient Dragon

I will give Code::Blocks a try.

Acient Dragon

Code::Blocks is worthless. It doesn't compile any source code I type. I copied some source codes from older programs I wrote into Code::Blocks, and he isn't even able to compile it!!! Dev-C++ is able to compile every valid source code which is written in C and C++.
I remain using Dev-C++.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.