C/C++ Where can I find a good compiler for learning C++ on Windows?

  • Thread starter Thread starter triac
  • Start date Start date
  • Tags Tags
    Mind
AI Thread Summary
For beginners looking to learn programming in C++, several compilers for Windows are recommended. Bloodshed Dev-C++ is highlighted as a user-friendly option that installs the GCC compiler via MinGW, making it suitable for compiling C++ code. Eclipse is also suggested, with its documentation available online for guidance. Users can compile code easily with a single click in Dev-C++. Notepad++ is mentioned as a versatile text editor for coding in multiple languages. A common issue encountered by new users is the console window closing immediately after program execution; this can be resolved by adding `system("PAUSE");` to the code or adjusting settings in Dev-C++ to keep the console open. For learning resources, "Accelerated C++" is recommended as an effective approach to mastering the language.
triac
Messages
19
Reaction score
0
Hi!
I would like to learn programming (I'm a beginner except for some programs on my calculator), and I need help. I had in mind to begin with C++, but I don't know of any good compiler for Windows. If anybody knows of one, and could tell me how I use the compiler (the language itself I can learn from a book or just by studying other programs), please tell me.
Thanks!
 
Technology news on Phys.org


I used bloodshed when I started. This was a long time ago though. But I remember it being good http://www.bloodshed.net/

But I would probably recommend eclipse now. To learn how to use it, read the documentation on the web.

http://www.eclipse.org/downloads/

For a tutorial, here is one for Java. https://eclipse-tutorial.dev.java.net/ Eclipse appears to be the same for me in both languages. So, the IDE (compiler) should be the same. Best of luck!
 
Last edited by a moderator:


I agree on Bloodshed for Windows. Compiling is quite easy, you just load the .cpp file and it's a single click (or keystroke) to compile. I can't say which right now as I don't have it installed currently, but should be easy to figure out.
http://www.bloodshed.net/devcpp.html

I do that actual programming in Notepad++, which is a text editor with advanced features. I program several different languages and use Notepad++ for all of them.
 


Microsoft Visual C++ Express is pretty good (and also free; a bunch of open-source / hobbyist projects are starting to use it for their compilations now):
http://www.microsoft.com/express/vc/
 
Last edited by a moderator:


I'll third bloodshed with a little exposition. Bloodshed (I think) actually installs the gcc compiler on your computer (which is practically universal except for things like intel compilers). I think bloodshed (don't quote me on this though) actually installs MinGW to run gcc (getting swamped with acronyms yet? MinGW stands for "Minimal GNU for windows", if you want a laugh look up what GNU means in wikipedia.). I assume you are talking about windows. Bloodshed's Dev-c++ should automatically configure the compiler so that stuff written in Dev-c++ can be compiled.

So, the information I'm trying to get across is that (for your own understanding when reading about compilers and such in books), when you run the bloodshed dev-c++ installer you are actually compiling using gcc through MinGW. If you want to play around with code writing in unix (which is where most physics related programming is done) then you also might want to look into Cygwin and learn how to code and compile on that.
 


Ok, thanks a lot everybody!
So, I downloaded Dev-C++ 4.9.9.2 and wrote some really basic program like this:
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
cout<<"My first program";
return 0;
}

and then I chose compile and run. The compilation seemed to be successful but then a window (which I assumed was the running program) popped up but only for a fraction of a section. Has anybody got any idea of what's wrong?
 


You have to add system("PAUSE"); like this:

Code:
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    
    cout << "My first program" << endl;
    system("PAUSE");
    return 0;
}

The << endl part is just optional. It stands for end line. If you use cout again the output will appear in the next line.
 


Thanks!
 


triac said:
Thanks!


Ya, dev-c++ does that, you can enable "keep console open after running" or some such in options or only use dev-c++ to compile and then run the *.exe from the appropriate folder in DOS (which is the better way to do it since you can do things like redirect the output to file and such)
 
  • #10
Back
Top