计算机的革命----编译器体系的战争<一>-----前程往事

你知道多少种C/C++编译器?首先,Visual C++ 不是编译器,是集成开发环境,编译器应该叫Microsoft C/C++ 优化编译器。这是微软编译器自己说的。Visual Studio 11所带的编译器版本为 17;还有GCC系列,有的同学还会知道有Borland C/C++ 还有Turbo c,他也是Borland公司开发的,而且先开发。至于其他编译器,很多同学都不知道,这次就跟大家讲一讲这些编译器的事。
当所有人都怀恋乔布斯的时候,丹尼斯.里奇(Dennis M.Ritchie)的死却先得默默无闻,仅有C/C++的徒子徒孙们还记的那个C语言大亨。与他相比,乔布斯显得渺小多了,要知道,现在的计算机的核心基本都是运行在C或者C的扩展代码上的。这也包括苹果的iOS和Mac OS;嵌入式,PC,集群,超级计算机,包括Java编译器的核心都是C/C++实现的。这是不争的事实。
好吧,这里先对祖师爷致敬。Bjarne Stroustrup大牛就不讲了。
不要相信百度 就连中文的维基百科,也不要太相信,错误率太高,你问编译器,他说IDE。
Microsoft C/C++ 现在最新版本是17,也就是Visual Studio 11 自带的C++编译器。相比于Visual C++  最新版本是11,Microsoft C/C++比Visual C++ 还早,那个时候还是DOS系统横行的时代。
Broland C/C++ 曾经不可一世,雄踞市场50%,而现在,除了C++ Builder 转手他人,Broland C/C++最终也只有徘徊到5.5.1 那也是十二年了。
WATCOM C/C++  在DOS开发环境中,Watcom C/C++ 编译器 以编译后的exe运行高速而著称,且首个支持Intel 80386 "保护模式"的编译器。于90年代中期,大批的雄心技术游戏(例如 Doom、Descent、Duke Nukem 3D 都以 Watcom C 写成.
WATCOM C/C++ 编译器、Watch Fortran 编译器 经已在不其先前所属公司Sybase售卖, 而被 SciTech 软件公司 作为 Open Watcom 开源包 发行。类似于其他的 开源编译器(例如 [GCC])项目,Watcom C代码小而便携, 其编译器后端(代码生成器)的目标码可变。该编译器可在DOS、OS/2、Windows等操作系统上运行,并生成各种可运行的(不必是该操作系统的)代码。该编译器支持Novell NetWare的 NLM 目标码。目前正进行 为 Linux[1]、modern BSD (例如FreeBSD) 操作系统 重定目标码, 以便在 x86、PowerPC 及 其它处理器上运行。Open Watcom C/C++ 的1.4版于2005年12月发行,采用 Linux x86 为实验目标, 支持NT、OS/2等host平台. 曾有某被弃置的QNX版本,但其编译所须的库并未开源发行。当前最近的稳定版是1.9版,在2010年6月发行。 
Symantec C/C++ 现在销声匿迹了 
它的Think C/C++在Macintosh上便是非常有名的编译器,因此早在C/C++领域便有深厚的基础。在Symantec并购了PC上第一个C/C++编译器 Zortech C/C++之后,Symantec 进入PC的开发工具市场也是箭在弦上了,只可惜的是其时Symantec还未找到一个在PC上有丰富经验的开发工具领导者。也许是上天注定要引起稍后的 C/C++编译器大战吧,此时Borland C/C++ 3.1的幕后支柱Eugene Wang刚好和Philippe Kahn闹翻,离开了Borland。Symantec见此时不可失,立刻重金延揽Eugene Wang到Symantec,为Symantec推出第一个C/C++开发工具。在1993年左右吧,Symantec C/C++在Eugene Wang的掌舵之下推出了第一个Symantec C/C++版本,立刻便获得了市场的好评。自此之后Symantec C/C++军心大振,不断的继续改善,也逐渐的获得了不小的C/C++市场,俨然成为可以对抗Borland C/C++,Visual C/C++的另一山头。当时Symantec C/C++是以最华丽、先进的整合发展环境获得市场的高度认同,在C/C++编译器最佳化方面的表现也不会输给其它的编译器。
Microsoft C/C++,Borland C/C++,WATCOM C/C++, Symantec C/C++;往事如烟,我们不是当事人,也不知道那些往事了,这些事情如果要知道的话,可以查看  李维的 C/C++圣战》
那个时候DOS/Windows横行,所以那时战争发生在Windows上。现如今,时过境迁,计算机行业已经发生了翻天覆地的变化。传统的编译器大牛已经完全没落,而Windows的压力也不小,来自Android ,Apple。另外一个,C/C++的高深莫测也足以使很大开发者望而却步,快速开发的模式也日益威胁到软件行业的质量。你要知道像QQ,一个月N个测试版,直接给用户使用,一般而言,只有Release才可以大规模分发,Beta版不是可以广泛日常使用的。QQ的代码质量也不是很好。
但是,C/C++编译器的竞争依然不减,有重现战争的趋势。
先介绍一下这些弄潮儿:
Microsoft C/C++
LLVM/Clang
GCC
自从Windows8支持ARM CPU以来,Visual Studio 迅速做出反应,在最新的Visual Studio 11 CTP/Beta中添加了 cl/ARM版本。

LLVM/Clang  LLVM 是 Low Level Virtual Machine 的简称,这个库提供了与编译器相关的支持,能够进行程序语言的编译期优化、链接优化、在线编译优化、代码生成。简而言之,可以作为多种语言编译器的后台来使用。如果这样还比较抽象的话,介绍下 Clang 就知道了:Clang 是一个 C++ 编写、基于 LLVM、发布于 LLVM BSD 许可证下的 C/C++/Objective C/Objective C++ 编译器,其目标(之一)就是超越 GCC。

GCC     GCC(GNU Compiler Collection,GNU 编译器 套装),是一套由 GNU 开发的编程语言编译器。它是一套
   

GNU编译器套装

以  GPL  及  LGPL  许可证所发行的自由软件,也是 GNU计划的关键部分,亦是自由的类Unix及苹果电脑 Mac OS X  操作系统 的标准编译器。
  GCC 原名为 GNU C 语言编译器,因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、 Objective-C 、Java, 以及 Ada与其他语言。


以上就是三大编译器家族。有兴趣的自己收集一下资料。

转载于:https://my.oschina.net/GIIoOS/blog/52340

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值