热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言标准及其GCC编译器版本

编程语言的发展离不开持续的维护和更新。本文将探讨C语言的标准演变以及GCC编译器如何支持这些标准,确保其与时俱进,满足现代开发需求。
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)发布

  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收录,从而在全球范围内得到广泛应用。


推荐阅读
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • KMP算法是一种高效的字符串模式匹配算法,能够在不进行回溯的情况下完成匹配,其时间复杂度为O(m+n),其中m和n分别为文本串和模式串的长度。本文将详细介绍KMP算法的工作原理,并提供C语言实现。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 在DELL Inspiron 14R上部署CentOS X64 6.4的详细步骤
    本文详细记录了在DELL Inspiron 14R笔记本电脑上安装CentOS X64 6.4操作系统的过程,包括遇到的问题及解决方法。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文详细介绍了Java中的三大类设计模式:创建型模式、结构型模式和行为型模式,并探讨了设计模式遵循的六大原则,帮助开发者更好地理解和应用这些模式。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中安装MySQL 5.5.37时遇到的启动失败和PID文件问题,并提供了详细的解决方案,包括日志分析、权限检查等步骤。 ... [详细]
  • 本文探讨了STL迭代器的最佳实践,包括iterator与const_iterator、reverse_iterator及其const版本之间的关系,以及如何高效地转换和使用这些迭代器类型。 ... [详细]
author-avatar
DomincLiu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有