2.1.1 Visual C++不是唯一的C++编译器

C++作为一门高级语言,其源程序要得以执行必须要通过编译(compile),即将其转换成机器语言目标程序。用来编译C++源程序的编译器,即C++编译器(compiler)。有意思的是,C++的编译器种类也是非常之多。但由于C++语言过于复杂,以及它经历了较长时间的演变,直到现在也只有少数几个编译器完全符合C++标准。以下列出了一些常见的C++编译器。

1.Visual C++

Visual C++正是Microsoft Visual Studio和Microsoft Visual Studio.NET 200X(包括2003、2005、2008等)中所带的C++编译器,它由Microsoft公司研制。在Visual C++ 6.0中,因为编译器有太多地方不能与后来出现的C++标准相吻合而饱受批评。Visual C++ 6.0对标准化C++的兼容只有70%(有的数字表示其兼容性更低)。但是随着C++编译器设计大师Stanley Lippman及诸多C++社群牛人的加盟,在Visual Studio.NET 2003中,Visual C++编译器已经成为一个非常成熟可靠的C++编译器了。Dr.Dobb's Journal的评测显示Visual C++ 7.1对标准C++的兼容性高达98.22%。

2.Borland C++

这是Borland C++ Builder和Borland C++ Builder X这两种开发环境的后台编译器。Borland C++由老牌开发工具厂商Borland倾力打造。该公司的编译器素来以速度快、空间效率高著称,Borland C++系列编译器秉承了这个传统,属于非常优质的编译器。标准化方面早在5.5版本的编译器中对标准化C++的兼容就达到了92.73%。目前最新版本是Borland C++ Builder X中的6.0版本,官方称100%符合ANSI/ISO的C++标准及C99标准。

3.GNU C++

GNU C++是著名的开源C++编译器,是类UNIX操作系统下编写C++程序的首选。其特点是有非常好的移植性,你可以在非常广泛的平台上使用它,同时也是编写跨平台嵌入式程序很好的选择。另外在符合标准这个方面GCC一直都非常好,GCC 3.3大概能够达到96.15%。但是由于其跨平台的特性,在代码尺寸速度等优化上略差一点。

4.Intel C++

Intel C++为著名CPU制造厂商Intel出品的编译器,其对于Intel x86结构的CPU经过特别的优化。在某些应用情况下,特别是数值计算等高性能应用,仅仅采用Intel的编译器编译就能大幅度地提高性能。

如上这种关系采用UML类图来表示的话,就是图2-1。其中Visual C++ 6.0被单独提出来,是因为它很短小精悍,一直颇受Visual C++程序员的喜爱。

 

比如,如下是一段符合标准C++语法的程序:

 

但是它在Visual C++ 6.0上就无法通过。反之,在Visual C++ 6.0中通过的程序,在其他标准C++的编译器中也有可能无法通过。更严重的问题体现在Visual C++ 6.0对模板、STL的支持上,那种后果基本上是一塌糊涂。但是,相对于其后继版本Visual Studio.NET的庞大身躯,Visual C++ 6.0可谓是Microsoft公司的经典之作,很多应用程序仍然在使用着Visual C++ 6.0。

===========================================

以上摘自《把脉VC++》第2.1.1小节的内容 ,如果你想与我交流,请点击如下链接加我为好友:http://student.csdn.net/invite.php?u=113292&c=8913f87cffe7d533

原文地址:https://www.cnblogs.com/bluejoe/p/5116078.html