C语言标准的演进
随着技术的进步,任何编程语言都需要不断更新以保持其竞争力。C语言自诞生以来经历了多个版本的迭代,包括C89(又称C90)、C94(C89的修订版)、C99、C11、C17,以及正在开发中的C2X。通常,C90、C99、C11和C17被视为第一代到第四代版本。
标准 C 的历史
- 1983年:ANSI成立X3J11委员会,负责制定C语言标准
- 1988年:《The C Programming Language》第二版发布
- 1989年:ANSI正式发布C89标准
- 1990年:ISO/IEC 9899-1990接纳了ANSI C标准
- 1995年:ISO/IEC 9899 AM1(修正案1)发布
- 1999年:ISO/IEC 9899:1999即C99标准发布
- 2011年:ISO/IEC 9899:2011即C11标准发布
- 2018年:ISO/IEC 9899:2018即C17标准发布
GCC编译器对C语言标准的支持
读者可能会好奇,GCC编译器具体使用哪个C语言标准?不同版本的GCC编译器默认使用的标准各不相同。幸运的是,开发者可以通过命令行选项手动指定GCC编译器使用的标准。例如,在编译C程序时,可以使用-std
选项来选择特定的C语言标准。
国际标准化组织
ISO
国际标准化组织(ISO)是全球最大的国际标准化机构,旨在促进世界各国在经济、科学、技术和知识等领域的合作。ISO通过制定国际标准,协调各国间的标准化工作,推动信息交流和技术合作。
ISO成员分为团体成员和通信成员。团体成员代表各自国家参与ISO的技术活动,而通信成员则主要关注ISO的工作进展。
IEC
国际电工委员会(IEC)成立于1906年,总部设在瑞士日内瓦,负责电气和电子工程领域的国际标准化工作。IEC致力于促进相关领域的国际合作,涵盖从传统电力设备到现代信息技术等多个方面。
ITU
国际电信联盟(ITU)成立于1865年,总部位于瑞士日内瓦,负责全球电信标准化工作。ITU下设三个部门,分别负责标准化、无线电通信和电信发展,确保全球电信系统的互联互通。
ANSI
美国国家标准协会(ANSI)是IEC和ISO的重要成员,积极参与国际标准的制定和推广。
IEEE
电气与电子工程师协会(IEEE)是全球最大的专业学术组织之一,涵盖电气、电子、计算机等多个领域,制定了一系列广泛认可的标准。
ECMA
欧洲计算机制造商协会(ECMA)成立于1961年,致力于制定统一的计算机操作格式标准,如ECMAScript规范。
每个组织都有自己的标准体系,部分标准被ISO/IEC收录,从而在全球范围内得到广泛应用。