欢迎您来到芯片的主页!

Welcome to Chipset's homepage!

C++ 编译器

原文: http://www.stroustrup.com/compilers.html

I (Bjarne Stroustrup) am often asked to recommend a C++ compiler. However, I don't make recommendations; that would be too much like taking sides in commercial wars. Also, I don't know every C++ compiler; there are simply too many "out there". I use half-a-dozen C++ compilers on a regular basis, but that's only scratching the surface.

I recommend that people take Standard conformance very seriously when considering a compiler. If you can, avoid any compiler that doesn't closely approximate the ISO standard or fails to supply a solid implementation of the standard library. The recent releases from all the major C++ vendors do that.

If you are a novice and don't know how to see if a compiler is conformant, try this:

#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cout << "Please enter your first name followed by a newline\n";
cin >> s;
cout << "Hello, " << s << '\n';
return 0; // this return statement isn't necessary
}
If an implementation cannot handle this simple program as written, it is not a good candidate for learning Standard C++ (if you cut and paste, beware of html for "less than" in the #include directives).

To get an idea of current conformance, have a look at boost.org's compiler status page. Conformance is just one aspect of a compiler's quality (quality of generated code, error messages, compile speed, integration with tools, degree of support, and backward compatibility are examples of other important aspects), but conformance is an important one. Use of a supplier's language extensions and non-standard-conforming features limits the portability of your code and can prevent you from choosing a new implementation supplier.

Most of these compilers are embedded in frameworks of software development tools and libraries. These frameworks, environments, and libraries can be most helpful, but do remember that their use can lock you into a single vendor and that some uses have significant run-time performance implications.

When looking for C++ on the web, you find that much of the information is "hidden" under various product names. In fact, I had more luck finding C++ compilers using google.com than by going directly to vendors that I knew sold them. Here, I have chosen to list C++ implementations simply by the name of their provider, ignoring marketing labels.

Some compilers that can be downloaded for free (do check their conditions/licenses before attempting commercial use):

Some compilers that require payment (some allow free downloads for trial periods):

It is impossible for me to keep this list complete and up-to-date. The C++ world is just too large and too much new is happening. Apologies to those suppliers who I failed to list, I know there are some, and please, if you have a link that you think ought to be listed here, send me a message: bs at cs dot tamu dot edu. Again: I just list compilers, I don't endorse them. Also, there can be no one compiler that is best for everyone, people's needs differ too much for that.

Other lists of C++ compilers:

A filter to improve error messages from many compilers see STLfilt.

posted on 2009-01-02 14:30 Chipset 阅读(6793) 评论(7)  编辑 收藏 引用

Feedback

# re: 一个C++编译器的不完全列表 (翻译版) 2010-05-27 23:33 SALINASAdriana

Human life is so unforeseeable but some people do live life correct and can try to find information connecting to this post. So you know that the <a href="http://www.4writers.net">freelance writers </a> will help you in this.   回复  更多评论   

# re: 一个C++编译器的不完全列表 (翻译版) 2010-06-19 02:04 www.lowest-rate-loans.com

Some time before, I needed to buy a good house for my corporation but I didn't have enough money and couldn't buy something. Thank heaven my mother suggested to take the http://www.lowest-rate-loans.com from banks. Thus, I acted that and was satisfied with my financial loan.   回复  更多评论   

# re: 一个C++编译器的不完全列表 (翻译版) 2010-07-21 04:15 article submit

It takes very long period of time to submit the great theme referring to this good topic non-automatically. Therefore, article submission service and free article submission made with that aim and you could utilize it.   回复  更多评论   

# re: 一个C++编译器的不完全列表 (翻译版) 2010-07-27 19:18 humanities essays paper

If students not sure what to opt for, essay or psychology essays, they must turn to you, because you know the proper way to do the fantastic thought referring to this post.   回复  更多评论   

# re: C++ 编译器 2012-07-01 21:07 essay writing online

Visit this site and versed academic writers will offer you professional research paper services. Contact the reliable company and get custom college essays.  回复  更多评论   

# re: C++ 编译器 2012-07-06 11:30 刘瑶

class Bus_infor  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理