Sorry, I didn't think of writing this article until now. What do you say? This is the case, when I first learned C language, I want to install Visual C + + on the machine, because the turbo C is too old and inconvenient to use, so it is natural to install VC + +. But I do not know if you have found that VC is very large, and some of the machine is not successful installation, do not know whether it is a copyright issue. My machine is no exception, both can not be installed. But do not want to use TC, how to do? Very fortunate, I was in the Baidu of a program on the bar to see a post, recommended that you use the free compiler. So I downloaded MinGW Developer Studio, and I've been using it since that time. It feels good to use and takes up a little space. But to remind you that there are some header files it is not supported, all some Windows functions are not used, and it is using the g++ standard, you should be aware of when writing code.
I am writing this article here, mainly to give beginners some guidance. Hope to be helpful to everyone, and O (>﹏<) o no longer only know the installation of VC ...
PS: When using MinGW, there is a problem, you need to draw attention, that is, when you compile the program code is long and the code is the first compilation (modified and then compiled also counted), the compilation time will be extended, and during this time, the screen pop-up in the black box temporarily only display a cursor only, At this point you press any key and it will not react. So what should we do at this time? Be patient and wait for it to compile before it will let the program execute properly. If you force it off during this time, you will not be able to compile the file again, and the compiler can make an error. If you still want to compile it, you have to open the project folder, re-establish the file and then compile, of course, you have to wait patiently.
(reproduced in the following series)
You are here: Programming enthusiasts website-Programming enthusiasts Forum-c/c++ compiler selection
Original address: http://bbs.pfan.cn/post-292318.html
Topic: Selection of compiler for C/C + + Chipset publish time: 2009-1-2 14:15:00
In view of the occasional question about what compiler to use, I translated the Bjarne Stroustrup homepage on the compilers column of an article, I hope to have a bit of guidance for you.
This translation of the paste process lost all the Super connection (Pfan provided the editing function is not good enough), I have to add another side, sorry.
In addition, in order to avoid duplication of posts, I put this site Sarrow original related articles also copied over, for the Wandering friends reference.
An incomplete list of a C + + compiler
November 18, 2008 update
I (Bjarne Stroustrup http://www.research.att.com/~bs/homepage.html) are often asked to suggest a C + + compiler, but I don't recommend it because it looks like a side of the battle. Moreover, I do not know every C + + compiler, just know that the C + + compiler is a plethora of. In general, I use half a dozen (6) compilers, but at best it's just superficial.
I recommend that people carefully consider how consistent they are with standards when choosing a compiler. If possible, avoid using any compilers that do not conform to the ISO standard or that do not support an implementation of the standard library. The latest versions of all major C + + compiler vendors are doing well.
If you are a novice, do not know how to identify a compiler is appropriate, try to compile the following program:
using namespace Std;
int main ()
cout << "Please enter your first name followed by a newline\n";
Cin >> S;
cout << "Hello," << s << ' \ n ';
return 0; The return statement can not
If a compiler cannot handle such a simple program, it is not suitable for learning standard C + +. (If you cut and paste the above code, be careful with the "less than sign" after the # include directive).
Although these details are already obsolete, there is a long article on conformance issues http://www.cuj.com/roundup/a.htm and boost.org ' compiler status page http://www.boost.org/status /compiler_status.html. Consistency is only an indicator of compiler quality (producing code quality, error messages, compile speed, integration with development tools, support, backwards compatibility are other metrics), but consistency is an important one. Using a vendor's language extension and non-standard features limits your code portability and prevents you from selecting a new vendor's product.
Most compilers are embedded in software development tools frameworks and libraries. These frameworks, environments, and libraries can be very useful to you, but remember that using them locks you to a single vendor, and some applications have serious operational performance issues.
When looking for C + + on the Internet, you will find a lot of information "hidden" under their respective products. In fact, I use Google.com to find the C + + compiler more convenient than contacting the C + + compiler vendor directly. Here, ignoring the market logo, I list many of the providers of C + + compilers.
Some compilers are free to download (check their conditions/licenses before attempting a commercial application):
Apple C + + http://developer.apple.com/tools/macosxtools.html. Also available on the OS X development Tools CD.
Bloodshed dev-c++ http://www.bloodshed.net/devcpp.html. An IDE based on GCC (MINGW).
Borland C + + http://www.borland.com/downloads/download_cbuilder.html
Cygwin (GNU C + +) http://www.cygwin.com/
Digital Mars C + + http://www.digitalmars.com/
MINGW-"Minimalist GNU for Windows" http://www.mingw.org/. Another GCC for Windows version contains a free (non-GPL) W32api.
DJ Delorie ' s C + + development system for Dos/windows (GNU C + +) HTTP://WWW.DELORIE.COM/DJGPP
GNU CC Source http://www.gnu.org/software/gcc/gcc.html
IBM C + + Http://www-949.ibm.com/software/rational/cafe/community/ccpp for IBM power, System Z, Bluegene, and Cell.
Intel C + + http://www.intel.com/software/products/compilers/clin/noncom.htm for Linux
The LLVM Compiler Infrastructure http://llvm.cs.uiuc.edu/(based on GCC).
Microsoft Visual C + + Express Edition HTTP://WWW.MICROSOFT.COM/EXPRESS/VC.
Sun Studio Http://developers.sun.com/sunstudio.
Some compilers pay a fee (some allow free downloads during the trial period):
Borland C + + http://www.borland.com/bcppbuilder/
CodeWarrior C + + http://www.metrowerks.com/products/macos/(official name is Metrowerks), supports many platforms
Comeau C + + http://www.comeaucomputing.com/supports many platforms
Edison Design Group C + + Front End http://www.edg.com/cpp.html-many C + + compiler utilities use it http://www.edg.com/resellers.html
Green Hills C + + http://www.ghs.com/products/optimizingC++EC++Compilers.html for many embedded system platforms
HP C + + for Unix http://www.hp.com/go/cpp/and HP C + + for OpenVMS http://h71000.www7.hp.com/commercial/cplus/cplus_index.html.
Intel C + + http://www.intel.com/software/products/compilers/supports Windows, Linux, and some embedded systems
Mentor Graphics/microtec-C + + http://www.mentorgraphics.com/embedded/compilers/index.html for many embedded system platforms
Microsoft C + + Http://msdn.microsoft.com/visualc
Paradigm C + + http://www.devtools.com/, embedded system for x86
The Portland Group C + + http://www.pgroup.com/prodworkpgcc.htm (parallel for Pentium Architecture processors)
SGI C + + http://www.sgi.com/products/software/irix/tools/c++.html, optimizing compilers
Sun C + + http://www.sun.com/forte/cplusplus/index.html
WindRiver ' s DIAB C + + http://www.windriver.com/products/, many embedded systems use.
For me, it's not possible to keep the list complete and up to date. C + + world is too big, new things appear too fast. I am sorry for the suppliers that I have not listed, I know there will be some, if you have a connection and think it should be listed here, please write to me: BS at research.att.com. Again: I'm just listing compilers, and I'm not in favor of them. And for everyone, no compiler is the best, and different people have different needs.
Additional List of C + + compilers:
The Open Directory Project http://dmoz.org/Computers/Programming/Languages/C%2b%2b/Compilers/
Compilers.net http://www.compilers.net/Dir/Free/Compilers/CCpp.htm: A free list of C and C + + compilers.
A filter can be used to improve many compiler error messages, see Stlfilt http://www.bdsoft.com/tools/stlfilt.html.
Sarrow Friends about << free C + + Integrated compilation environment (IDE) >> article excerpts are as follows:
A more complete list and a download chain to be interviewed:
Dedicated to the comrades who fret about compiling the environment.
This software is needless to say, this is the preferred IDE environment on the Pfan Forum; he installs MinGW as the compiler by default-that is, the GCC compiler that is a Windows-based system. The version should be 3.4;
Because its editor is simple to use, and the kernel gcc3.4 to C99 and c++2003 support is relatively high, so, this software is more suitable for standard C + + beginners! In addition to supporting external libraries, dev-c++ also supports its own development package, you can get a lot of useful things from upgrading the "package" function;
You can get it downloaded in http://www.bloodshed.net.
I don't know if it's a hero's curtain or what? Dev-c++ has stopped updating! The latest version should be 188.8.131.52--not updated, this is a fuss! However, another wave of people took the project, on the basis of dev-c++ added a lot of things, such as RAD tools (such as VB, can be quickly dragged through the Win32 Program interface tools), but also modified the previous dev-c++ some bugs.
There is it compatible with VC6, VC7, VC8 engineering settings-that is, VC6, VC7, VC8 works can be copied to wxdev-c++ down use!
The great news, of course, is that such a good tool is free!
This weird name thing, is a relatively new free IDE, is currently a tool for the use of C + + development, note that this is open source cross-platform Oh! This software is a plug-in architecture, then the software is set to be very personalized!
Because it supports multiple compilers, it does not have a default binding compiler, and since it supports more compilers, I'll pick a few words:
MinGW's GCC compilers, VC7, and Vc8 as well as Borland C + + 5.5;
This software is also cross-platform-in my opinion, its biggest feature is to have their own GUI library!
This huge thing is also cross-platform-but this thing is too big for me to say-it doesn't fit the rules of easy learning.
Finally, haha, for personal reasons, I put Microsoft's VC products at the end. VC6, VC7, VC8 are currently active in the 3 MS/C + + compilation environment-but unfortunately, they are not free!
Here are the reasons to mention VC, there are two points:
1. Although they are not free, but in China-is equal to free, why? Everyone knows that, I will not say!
2. Ms does not offer a big meal and dessert is still available:
Microsoft Visual C + + Toolkit 2003
This compilation toolkit--Free!
Then Microsoft Visual C + + 2005 also has a free version! Of course not full-featured, but for beginners, it is enough!
For NB People, there is no IDE is the same! The IDE is just a tool for rapid development!
Here, I would like to talk about why the MS Company's VC series put the final reason: the competition only progress, and the company's strategy is only to let oneself live alone; like the VC series IDE Dabaogan, I don't think it's right-one that leaves more options to the user.
I (Chipset) uses the history of the C + + compiler and the IDE:
I've only used a handful of compilers and Ides to simply describe how I feel.
1, vc++6.0 + SP6
The IDE is popular in Win32, especially in the Chinese education sector, where love and piracy prevail.
Vc++6.0 's support for the C90 standard is good, but it is weak for C99 and c++98. vc++6.0 itself a lot of bugs, but the debugging function is quite good, unfortunately this advantage for me basically no meaning, because I never use the debugger.
Vc++6.0 's shortcomings are very obvious, mainly the library function a lot of errors, there are serious problems, because the end of 97 is completed, does not support C99 and c++98, but we have to admit that vc++6.0 + Windows98 system is simply the perfect match for C programmers.
If you are still in love with vc++6.0, thunder Search, there are many.
2. Dev C + + 184.108.40.206
Seriously, this is a very good IDE, built-in GCC compiler (including g++3.4.2), small size, installation completed 50MB space, C99 and c++98/03 support are very good, and can write Windows programs, especially for beginners on the Win32 platform. The disadvantage is that the upgrade is difficult because it is no longer upgraded after 06 years, but it is gratifying that wxdev-c++ has inherited its footsteps.
This is a weight machine ide (embedded a variety of compilers, including Ms c++8.0), installed on the hard disk must be 1GB, bulky, even if you install the. NET Framework + Global Search Environment + vc++8.0 volume is not under 1GB. But the functionality is really powerful, and basically everything, you can write various applications such as C/C++/WIN32/MFC/ATL. The commissioning function is very strong, it is obvious that there is a qualitative leap in the overall quality of the vc++6.0, both in terms of volume and library. If you are a C + + beginner, I do not recommend that you use it because it is too large, and the ability to compile pure C + + programs is slightly less than the dev C + + 220.127.116.11 (g++3.4.2), the generated code quality is not Borland C + +.
4. Intel c++9.1/10.020
The Intel C + + compiler must be integrated into the VS2005 (you can think about how bulky), otherwise there is no way to install it. Although the Intel C + + compiler has compiled optimizations that generate higher-quality code and can import projects from Visual Studio, I only use the command-line compilation (you can compile and debug with the IDE), but I am only using it for testing purposes, and later departs uninstalls it.
5, Code::blocks8.02+mingw (gcc3.4.5)
I have to say, code::block8.02 is an epoch-making open source IDE, in addition to supporting a variety of platforms, almost meet the most demanding business applications, support more than 10 kinds of compilers, support VC + + engineering, Visual Studio Engineering and Dev C + + project import. With GDB debugger, debugging is also very rich, debugging function slightly inferior to the Visual Studio series, but personalized, support to add a variety of component development, such as qt,wxwidgets and so on, as long as you can imagine, Google can almost find how to add. If you are a beginner, I strongly recommend that you choose this code::blocks8.02+mingw (gcc3.4.5), because it is not very large, about 100MB after installation, even if you do not bother to add components, you can develop C/C++/WIN32 applications, and C90 /99, c++98/03 support is very good.
This I will not say, this site has an article about my installation configuration, detailed information see my blog.
7. gcc4.3.2 (Linux)
The GCC compiler is not only used for PCs but also for embedded systems and server-level C + + program compilation, and with open MP you can develop compiled parallel programs for high performance computing. Many friends using Linux and UNIX systems have chosen GCC as a C + + compiler.
Zhaoyg Publish time: 2009-1-2 15:15:00
Chipset Publish time: 2009-1-2 15:34:00
I've used a lot of compilers and Ides, but TC and TC++,WIN-TC are not recommended.
Zhaoyg Publish time: 2009-1-2 15:38:00
Good is good, but debugging inconvenient, not as good as VC.
Also, the startup speed is slow (close is quite fast).
Chipset Publish time: 2009-1-2 15:45:00
Reference : code::blocks8.02
Good is good, but debugging inconvenient, not as good as VC.
Also, the startup speed is slow (close is quite fast).
The reason the VC starts fast is because the cache (another space is created for the first time, and then the space is always there), Dev C + + will ask you to do this for the first time, and if you are sure, then the startup will be fast and the compilation will be fast. Code::Blocks is not prompted to do this the first time, but if you want to compile fast, but you can set the appropriate options, if you want to start later, you may enter after the option can be set, otherwise it is recommended that Code::Blocks development team to join this option just.
Zhaoyg Publish time: 2009-1-2 15:58:00
Zhaoyg Publish time: 2009-1-2 16:00:00
Also, do not give me extra points, if not the test results!!!
Sarrow Publish time: 2009-1-2 16:51:00
I have nothing more to say about this.
Mention another: The question of learning goals.
Embedded and gaming
Reason: The miniaturization and universality of intelligent electronic products is the trend-embedded learning, absolutely right!
Play is human nature-its connotation can be mapped to the original impulse, curiosity and other desires, and the video game is the above virtual platform, therefore, game design will never be outdated!
Chipset Publish time: 2009-1-2 17:36:00
reference : ... The video game is the above virtual platform, so the game design will never be outdated!
Yes, but the design of the game is largely thought, not technical, and most people don't have the idea.
yjypm8460859 Publish time: 2009-1-3 13:02:00
The miniaturization and universality of intelligent electronic products is the trend-embedded learning, absolutely right!
Embedded on the mode of electricity and the requirements of the number of the two courses I understand that as long as the simple principle of understanding, do not consider the details, such as I will not analyze its complex circuit diagram (because the level is limited, haha), just a few commonly used electronic components of the role of understanding can, such as some of the pin's familiar features.
I don't know if I can do that.
Collected in 2009-05-31
Free C + + compiler