标准C/C++发展史以及支持该标准的编译器

        本文主要讲述标准C/C++语言的发展历程,各个版本的发展以及支持该标准的一些编译器

1.发展史

        在谈标准C/C++语言发展史之前,我们不得不先谈谈标准,既然是标准那就是说大家都得遵循,当然标准一般只是一个最小子集,再演化一下到各个国家就出现国家标准和行业标准了,本文可能提到的标准化组织主要包括ISO(International Organization for Standardization国际标准化组织www.iso.org/iso/home.html)和ANSI(American National Standards Institute美国国家标准学会www.ansi.org),其中ISO故名思议就是为技术和商业制定一系列标准的非政府组织,包括各个会员国的标准化组织和主要机构,而ANSI就是制定美国国家标准的非盈利组织,是ISO和IEC(International Electrotechnical Commission国际电工委员会www.iec.ch)成员。ISO和IEC是相互独立的,但又紧密相关,IEC主要负责电气工程和电子工程领域的国际标准化组织,而其它由ISO负责。

        标准C/C++最终也是逃脱不了和ISO的关系。C语言最早在1970年由Dennis Ritchie(丹尼斯·里奇)在Ken Thompson(肯·汤普逊)所开发的B语言基础上发展和完善起来的。由于C由于的高效、灵活等特性,在1970-1980年得到广泛的应用并且衍生出很多版本,ANSI为了避免各个厂商产生的差异,在80年代成立了一个委员会来制定C语言的标准,最终在1989年被批准(ANSI X3.159-1989),该标准通常被称为ANSI C或C89。在1990年,ISO成立组织来规定C语言的ISO标准即ISO/IEC 9899:1990,这个标准通常被称为C90,该标准在C89的基础上稍微改动而来,后来也被ANSI所采用。在1999年,ISO发布了ISO/IEC 9899:1999标准,也称作C99。2011年,ISO发布新标准ISO/IEC 9899:2011,称作C11。因此在本文写作的时候最新C语言标准为C11。表一简要说明C的发展阶段。

表一 C的主要发展历程

时间创立者版本号
1970年Dennis RitchieC
1989年ANSIANSI C/C89
1999年ISOC99
2011年ISOC11

        C++由Bjarne Stroustrup(比雅尼·斯特劳斯特鲁普)在1979年构思并开始发明的,最早被叫做C with Classes,可以说C++起源于C。1983年,C with Classes改名称为C Plus Plus即我们所说的C++。随之C++的发展,一直到1998年ANSI-ISO才发布该语言的标准即ISO/IEC 14882:1998,称为C++98。在03年发布了C++标准的修正版本即ISO/IEC 14882:2003即所谓的C++03。2007年,一份C++技术报告被加入即ISO/IEC TR 19768:2007,也称为C++TR1。目前ISO发布的最新C++标准为2011年发布的ISO/IEC 14882:2011,称作C++11。表二简要说明C++的发展阶段。

表二C++的主要发展过程

时间创立者版本号
1979年Bjarne StroustrupC with Classes
1998年ISOISO/IEC 14882:1998或C++98
2003年ISOISO/IEC 14882:2003或C++03
2007年ISOISO/IEC TR 19768:2007或C++TR1
2011年ISOISO/IEC 14882:2011或C++11

2.支持的一些编译器

        目前来说,在windows平台下基本都利用IDE(Integrated Development Environment集成开发环境)方式开发,所以可能很少去关心IDE实际调用的编译器,像windows下的VC,VS,Borland C++等工具。因此在这,只介绍GCC(GNU Compiler Collection,GNU编译器集合)和G++这个两个编译器,它们可以在linux下运用,同时也被移植到了Windows下,其中比较流行的如Mingw和Cygwin。

        GCC和G++都是C&C++的编译器,大家可能误认为GCC是C的编译器,而G++是C++的编译器,其实不然。当然它们也是有区别的,当我们的文件以.C结尾,采用GCC编译时认为是C语言,而用G++时则认为是C++语言,当文件以.CPP结尾时,GCC和G++都认为是C++的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值