分享

C/C++标准

 键盘农夫 2015-01-06

C语言标准

最初是有ANSI C标准,然后ANSI(ANSI是美国标准局)把这个标准提交到ISO(毕竟ISO是国际化标准组织),ISO采纳为国家标准。ISO C与ANSI C内容基本相同,主要是格式组织不一样。这个标准是89年发布的,通常称为C89,即ISO/IEC 9899?:1989.
99年ISO发布了新的C标准,通常称为C99,即ISO/IEC 9899:1999.
因为ANSI与ISO的C标准内容基本相同,所以对于C标准,可以称为ANSI C,也可以说是ISO C,或者ANSI/ISO C。虽说C99是最新的标准,但并不普及,可以说目前还没有符合C99的编译器.
此外,不存在什么GNU C标准。
GNU计划中含多个内容,其中包括开发C/C++编译器。这个编译器通常简称为GCC(GNU C/C++ compiler)。
总而言之,ANSI/ISO C是语言标准。GCC是具体的编译器,它必须符合ANSI/ISO C标准的要求。

C++标准

制定ANSI/ISOC++的标准工作始于1990年,第一版标准是在1998年通过的ISO、IEC和ANSI的。即ISO/IEC 14882:1998(E)
第二版标准是在这2003年发布的,即ISO/IEC 14882:2003。现在一般讲C++的书都是以这个标准来讲的。
C++不断发展,下一版的标准制定工作早已经开始了,现在处在尾声阶段,新标准一开始预期是在2009年完成,但实现际上现在还没有完成。新版本被称为C++0X。
14882这个部分是不会变的变化的是它后面的年份号。
例如ISO/IEC 14882:2003,2003就是它的2003年版。
C++标准我知道有ISO/IEC 14882:1998和ISO/IEC 14882:2003两个版本。
ISO/IEC 14882:2003目前是最新版本。

Wiki: 目前最新的C++标准是2014年8月18日发布的ISO/IEC 14882:2014[1],又称C++14C++1y
由ISO/IEC JTC1/SC22/WG21进行。已经出版的标准文档如下:
发布时间文档通称备注
2014ISO/IEC 14882:2014[2]C++14第四个C++标准
2011ISO/IEC 14882:2011[3]C++11第三个C++标准
2007ISO/IEC TR 19768:2007[4]C++TR1C++技术报告:库扩展
2006ISO/IEC TR 18015:2006[5]-C++性能技术报告
2003ISO/IEC 14882:2003[6]C++03第二个C++标准
1998ISO/IEC 14882:1998[7]C++98第一个C++标准

C++只是一个编程语言的标准,而不同的编译器只是对这种标准的实现。另外,编译器一般都和编辑器集成到一起组成一个集成编译环境,简称IDE,如MSVC++、BORLAND C++、DEV-C++、code::block、Turbo C++等。另外,DEV-C++和code::block都是移植的GCC

 VC++不是完全标准的c++编译器,虽然vc++不是最标准的,但是用的还是很广泛的,VC++多数情况下还是符合C++标准的,只是用MFC的时候,很多C++的类型被重新定义了。到了VS2003以后,也就是VC7.x编译器之后,对C++标准的支持有所改善,目前VS2005、2008应该对标准都支持的挺好的。VC++和BORLAND C++都遵循C++的标准,但在细节上会有区别,VC是微软公司出品,BC是BORLAND 公司出品,由于windows的普及,以及对windows的良好支持,VC的使用量就超过了BC。采用GCC编译器的DEV-C++和code::block当然对C++的标准支持的比较好。GCC本来是用于UNIX/Linux上的C/C+开发的,是属于GNU计划的开源项目,因此它是开源的

reference : <http://zh./zh-cn/C%2B%2B>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多