C 编译器与IDE

  • 格式:doc
  • 大小:42.50 KB
  • 文档页数:8

C++编译器与IDE.txt这是一个禁忌相继崩溃的时代,没人拦得着你,只有你自己拦着自己,你的禁忌越多成就就越少。

自卑有多种档次,最高档次的自卑表现为吹嘘自己干什么都是天才。

本文2004年5月首发于《CSDN开发高手》,版权归该杂志与《程序员》杂志社所有。

杂志限于篇幅部分内容有所删节,此处版本为相对完整版本。

前言:撰写本文的初衷并不打算带领大家体验古老的C++历史,如果你想了解C++的历史与其前期发展中诸多技术的演变,你应当去参考Bjarne的《The Design and Evolution of C++》。

当然也不打算给大家一个无所不包的宝典(并非不想:其一是因水平有限,其二无奈C++之博大精深),所给出的仅仅是一些我们认为对于想学习C++的广大读者来说最重要并且触手可及的开发与学习资源。

本文介绍并分析了一些编译器,开发环境,库,少量的书籍以及参考网站,并且尽可能尝试着给出一个利用这些资源的导引,望对如同我们一样的初学者能够有所裨益。

编译器在C++之外的任何语言中,编译器都从来没有受到过如此之重视。

因为C++是一门相当复杂的语言,所以编译器也难于构建。

直到最近我们才开始能够使用上完全符合C++标准的编译器(哦,你可能会责怪那些编译器厂商不能尽早的提供符合标准的编译器,这只能怪他们各自维系着自身的一套别人不愿接受的标准)。

什么?你说这无关紧要?哦,不,你所需要的是和标准化C++高度兼容的编译环境。

长远来看,只有这样的编译器对C++开发人员来说才是最有意义的工具,尤其是对于程序设计语言的学习者。

一至性让代码具备可移植性,并让一门语言及其库的应用更为广泛。

嗯,是的,我们这里只打算介绍一些公认的优秀编译器.编译器:Borland C++这个是Borland C++ Builder和Borland C++ Builder X这两种开发环境的后台编译器。

(哦,我之所以将之分为两种开发环境你应当能明白为什么,正如Delphi7到Delphi8的转变,是革命性的两代。

)Borland C++由老牌开发工具厂商Borland倾力打造。

该公司的编译器素以速度快,空间效率高著称,Borland C++ 系列编译器秉承了这个传统,属于非常优质的编译器。

标准化方面早在5.5版本的编译器中对标准化C++的兼容就达到了92.73%。

目前最新版本是Borland C++ Builder X中的6.0版本,官方称100%符合ANSI/ISO的C++标准以及C99标准。

嗯...这正是我前面所指的"完全符合C++标准的编译器"。

Visual C++这个正是我们熟知的Visual Studio 和 Visual 2002, 2003以及2005 Whidbe y中带的C++编译器。

由Microsoft公司研制。

在Visual Studio 6.0中,因为编译器有太多地方不能与后来出现的C++标准相吻合而饱受批评(想想你在使用STL的时候编译时报出的那些令人厌恶的error和warning吧)。

VC++6.0对标准化C++的兼容只有83.43%。

但是随着C++编译器设计大师Stanley Lippman以及诸多C++社群达人的加盟,在Visual 2003中,Visual C++编译器已经成为一个非常成熟可靠的C++编译器了。

Dr.Dobb's Journal的评测显示Visual C++7.1对标准C++的兼容性高达98.22%,一度成为CBX之前兼容性最好的编译器。

结合强大的Visual 开发环境,是一个非常不错的选择。

至于Whi dbey时代的Visual C++,似乎微软所最关注的是C++/CLI......我们不想评论微软下一代的C++编译器对标准化兼容如何,但他确实越来越适合.NET (其实你和我的感觉可能是一样的,微软不应当把标准C++这块肥肉丢给Borland,然而微软可能并不这样认为)。

GNU C++著名的开源C++编译器。

是类Unix操作系统下编写C++程序的首选。

特点是有非常好的移植性,你可以在非常广泛的平台上使用它,同时也是编写跨平台,嵌入式程序很好的选择。

另外在符合标准这个方面一直都非常好,GCC3.3大概能够达到96.15%。

但是由于其跨平台的特性,在代码尺寸速度等优化上略微差一点。

基于GNU C++的编译器有很多,比如:l Mingw:/GCC的一个Windows的移植版本(Dev-C++的后台)l Cygwin:/cygwin/GCC的另外一个Windows移植版本是Cygwin的一部分,Cygwin是Windows下的一个Unix仿真环境。

严格的说是模拟GNU的环境,这也就是"Gnu's Not Unix"要表达的意思,噢,扯远了,这并不是我们在这里关心的实质内容。

l Djgpp:/djgpp/这是GCC的DOS移植版本。

l RSXNT:http://www.mathematik.uni-bielefeld.de/~rainer/这是GCC的DOS和Windows移植版本。

Intel C++著名CPU制造厂商Intel出品的编译器,Special Design for Intel x86!对于Intel x86结构的CPU经过特别的优化。

在有些应用情况下,特别是数值计算等高性能应用,仅仅采用I ntel的编译器编译就能大幅度的提高性能。

Digital Mars C++网络上提供免费下载,Zortech/Symantec C++的继承者,其前身在当年惨烈的C++四国战中也是主角之一。

IDE开发环境:开发环境对于程序员的作用不言而喻。

选择自己朝夕相处的环境也不是容易的事情,特别是在IDE如此丰富的情况下。

下面就是我们推荐的一些常见的C++开发环境,并没有包括一些小型的,罕见的IDE。

其中任何一款都是功能丰富,可以用作日常开发使用的。

对于不同层面的开发者,请参见内文关于适用对象的描述。

Visual Studio 6.0这个虽然是Microsoft公司的老版本的开发环境,但是鉴于其后继版本Visual 的庞大身躯,以及初学者并不那么高的功能要求,所以推荐这个开发环境给C++的初学者,供其学习C++的最基本的部分,比如C的那部分子集,当然你别指望他能够支持最新的C99标准。

在日常的开发中,仍然有很多公司使用这个经典稳定的环境,比如笔者就看曾亲见有些公司将其编译器替换为GCC做手机开发之用。

Visual 2003作为Microsoft公司官方正式发布的最新版本开发环境,其中有太多激动人心的功能。

结合其最新的C++编译器。

对于机器配置比较好的开发人员来说,使用这个开发环境将能满足其大部分的要求。

这里不打算单独说Visual Studio Whidbey,虽然Visual Studio .NET 200 5 - Whidbey社区预览版已经推出,但暂不是很稳定,读者可以亲身去体验。

Borland C++ Builder 6这个并不是Borland的C++开发环境的最新版本。

选择它的原因是它不是用Java写的IDE,速度比较快。

它有一个很完善的GUI窗体设计器,和Delphi共用一个VCL。

由于这些特点,比较适合初学者上手。

但是由于其GUI的中心位置,可能不利于对于C++语言的学习。

而且其为了支持VCL这个Object Pascal写的库也对C++进行了一些私有的扩充。

使得人们有一个不得不接受的事实:"Borland C++ Builder 6的高手几乎都是Delphi高手"。

Borland C++ Builder X正如前文所述,虽然版本号上和前面那个IDE非常相象,但是其实它们是完全不同的两个集成开发环境。

C++Builder更多的是一个和Delphi同步的C++版本的开发环境,C++BuilderX 则是完全从C++的角度思考得出的一个功能丰富的IDE。

其最大的特点是跨平台,跨编译器,多种Framework的集成,并且有一个WxWindows为基础的GUI设计器。

尤其是采用了纯C++ 来重写了整个Framework,摒弃了以前令人无奈的版本。

对于C++的开发来说,从编译器,到库,到功能集成都是非常理想的。

可以预见,Borland C++ Builder X 2.0很值得C++爱好者期待。

唯一令人难堪之处是作为一个C++的开发工具,其IDE是用Java写的,在配置不够理想的机器上请慎重考虑再安装。

Emacs + GCC前面讲的大部分是Windows环境下的集成开发环境。

Linux上的开发者更倾向于使用Emacs 来编辑C++的文件,用Makefile来命令GCC做编译。

虽然看上去比较松散,但是这些东西综合起来还是一个开0发环境。

如果你能够娴熟的使用这样的环境写程序,你的水平应该足够指导我们来写这篇陋文了。

Dev C++GCC是一个很好的编译器。

在Windows上的C++编译器一直和标准有着一段距离的时候,GCC 就是一个让Windows下开发者流口水的编译器。

Dev-C++就是能够让GCC跑在Windows下的工具,作为集成开发环境,还提供了同专业IDE相媲美的语法高亮,代码提示,调试等功能。

由于使用Delphi开发,占用内存少,速度很快,比较适合轻量级的学习和使用。

Eclipse + CDTEclipse可是近来大名鼎鼎的开发工具。

最新一期的Jolt大奖就颁给了这个杰出的神物。

说其神奇是因为,它本身是用Java写的,但是拥有比一般Java写的程序快得多的速度。

而且因为其基于插件组装一切的原则,使得能够有CDT这样的插件把Eclipse变成一个C/C++的开发环境。

如果你一直用Eclipse写Java的程序,不妨用它体验一下C++开发的乐趣。

工具C++的辅助工具繁多,我们分门别类的为大家作介绍:文档类Doxygen参考站点:/Doxygen是一种适合C风格语言(如C++、C、IDL、Java甚至包括C#和PHP)的、开放源码的、基于命令行的文档产生器。

C++2HTML参考站点:/cpp2html/把C++代码变成语法高亮的HTMLCodeColorizer参考站点:/colorizer/它能把好几种语言的源代码着色为HTMLDoc-O-Matic参考站点:/Doc-O_Matic为你的C/C++,C++.net,Delphi/Pascal, ,C#和Java程序或者组件产生准确的文档。

Doc-O-Matic使用源代码中的符号和注释以及外部的文档文件创建与流行的文档样式一致的文档。

DocVizor参考站点:/Products/DocBuilder/Features.htmDocVizor满足了面向对象软件开发者的基本要求——它让我们能够看到C++工程中的类层次结构。