C++编译器推荐目录

(From http://www.research.att.com/~bs/compilers.html)

C++编译器推荐目录
链接:http://www.research.att.com/~bs/compilers.html
作者:Bjarne Stroustrup
译者:陈希
日期:2004年4月13日

经常有人向我(Bjarne Stroustrup)询问,能否推荐一个C++编译器。但是,我不能做这样的推荐,因为这样非常容易卷入一场商业战争。同样,我也不知道每一种C++编译器,因为它们有太多的相似的地方。我使用六种C++编译器来完成基本需要,但是仅仅从表面上来看它们都是参差不齐的。

我建议人们使用和标准严格一致的编译器。如果你这样做,就能够避免编译器不和ISO标准近似的情况,以及不能使用标准库的情况。最近一些来自主要C++厂商发行的编译器都是这样做的。

如果你是一个新手,不知道如何查看编译器的构造,那么使用下面的代码:

#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
}

如果编译器不能处理这段简单的程序,那么它就不能作为学习标准C++语言的候选编译器。

这里有一篇很长的文章论证编译器的一致性,和boost.org的编译器状态文章。一致性是编译器质量的一部分(产生代码的质量,错误消息,编译速度,工具集成,支持程度,向后兼容,以及其它重要的方面),但却是很重要的一部分。编译器厂商对语言的扩充和非标准特性的使用限制了程序的简捷性,并且可以防止你选择一个新的编译器厂商。

目前的编译器都嵌入到了软件开发工具和开发库的框架里边。这些框架、环境、库都非常有用,但是要记住一点是,对这些工具的使用将会使你局限在单一的卖主上,局限在重要的执行性能上。

当在网上寻找C++编译器时,你可以发现隐藏在几种产品名称后的信息。实际上,使用google.com,我非常幸运的发现了C++编译器的信息,这比起从厂商目录中寻找要好的多。这里,我选择了一个C++编译器的名称列表,不考虑它们的市场情况。

可以免费下载的编译器(在试图进行商业使用时,请检查它的许可情况):

Apple C++ - 可以从开发者工具光盘中的OS X中获得
Bloodshed Dev-C++ - 基于GCC的(Mingw)IDE环境
Borland C++
Cygwin (GNU C++) MINGW - "Minimalist GNU for Windows". Windows版本的另外一个GCC编译器,包含了免费的w32api(非GPL许可)
DJ Delorie's C++ development system for DOS/Windows (GNU C++)
GNU CC source
Intel C++ for linux

需要付费的编译器(有些允许有评估期的免费下载):

Borland C++
Comeau C++ - 支持多平台
Compaq C++
Digital Mars C++
Edison Design Group C++ Front End - 被许多C++编译器厂商采用
Green Hills C++ - 支持嵌入式系统平台
HP C++
IBM C++
Intel C++ - 支持Windows, Linux, 和其他嵌入式系统
Interstron C++
Metrowerks C++ - 支持多平台,可从Metrowerks主页上查询
Mentor Graphics/Microtec Research C++ - 支持嵌入式系统平台
Microsoft C++
Paradigm C++ - 支持x86嵌入式系统
The Portland Group C++ - 针对奔腾CPU优化
SGI C++ - 优化的编译器
Sun C++
WindRiver's Diab C++ - 用于很多嵌入式系统

对于我要保持这个列表的完整和最新是不可能的。C++世界太大了,太多的事情发生。对于那些遗漏的厂商,我感到非常抱歉,因为我只知道这些。如果你有一个链接,并且认为应该放在这个列表中,那么请发送电子邮件给我:[email protected]。此外,我只罗列了编译器,我不会评价它们。同样,他们也不是那种对任何人都是最好的编译器,所以人们需要对它们进行更多的比较。

其它C++编译器,请看the open directory project。

更多C++资源,请看my C++ page。

你可能感兴趣的:(C++,c,linux,C#,嵌入式)