当前位置: 首页 > ai >正文

GCC版本和C语言标准版本的对应关系

以下是GCC版本与C语言标准支持情况的对应关系表格,涵盖主要版本的显式支持选项及默认C标准(含GNU扩展):

GCC版本

显式支持的C标准(编译选项示例)​

默认C标准(隐含GNU扩展)​

关键说明

GCC 1.0 - 2.x

C89(部分支持)

无明确默认(接近C89)

早期版本对C89支持不完整,仅实现基础特性。

GCC 3.0 - 4.2

C89(完全支持)、C99(部分特性)

gnu89(C89 + GNU扩展)

开始支持C99的基础特性(如//注释),但复杂特性(如变长数组、复数类型)未完全实现。

GCC 4.3 - 4.5

C89、C99(完全支持)、C11(实验性,-std=c11

gnu89

正式完成C99核心特性支持(如long long、灵活数组成员);C11进入实验性支持阶段(功能有限)。

GCC 4.6 - 5.x

C89、C99、C11(部分支持,-std=c11

gnu89

C11支持逐步完善(如原子操作、_Generic),但仍存在部分特性缺失(如多线程相关函数)。

GCC 6 - 10.x

C89、C99、C11(完全支持)、C17(实验性,-std=c17

gnu11(C11 + GNU扩展)

默认C标准升级为gnu11;C17实验性支持(如_Static_assert、匿名结构体),大部分特性可用。

GCC 11.x

C89、C99、C11、C17(完全支持)、C23(实验性,-std=c23

gnu11

C17支持趋于稳定;C23进入实验性支持(如constexpr增强、位操作函数),部分新特性可用。

GCC 12.x 及以上

C89、C99、C11、C17、C23(部分支持,-std=c23

gnu17(C17 + GNU扩展)

默认C标准升级为gnu17;C23支持持续改进(如nullptr、作用域内enum),逐步完善。

补充说明:

  1. GNU扩展​:GCC默认启用的GNU扩展(如gnu89gnu11)在标准基础上增加了额外特性(如可变长度数组的扩展、函数属性),但可能与严格C标准存在差异。

  2. 实验性支持​:标记为“实验性”的C标准需通过显式选项启用(如-std=c11),可能存在部分特性未实现或行为与标准不完全一致。

  3. C23状态​:截至GCC 12,C23仍处于实验性阶段,部分特性(如char8_tstdckdint.h)已支持,完整支持需等待后续版本。

  4. 验证方法​:可通过gcc -v --help=std查看当前GCC支持的所有C标准选项及默认值。

如上图,GNU C17表示当前GCC版本所支持的C语言标准版本。

http://www.xdnf.cn/news/18923.html

相关文章:

  • java去图片水印的方法
  • 生产环境Vue组件报错:Cannot access before initialization
  • 使用qianjkun uniapp 主应用 集成 vue微应用
  • 8.28作业
  • 可改善能源利用水平、削减碳排放总量,并为可再生能源规模化发展提供有力支撑的智慧能源开源了
  • Python Imaging Library (PIL) 全面指南:Python Imaging Library (PIL)基础图像处理入门
  • 【图像处理基石】DCT在图像处理中的应用及实现
  • 从零开始学习JavaWeb-20
  • 第二十节:3D文本渲染 - 字体几何体生成与特效
  • Node.js终极文本转图指南
  • 使用 Action 自动部署 VuePress 到 GitHub Pages
  • Webdriver-Manager 4.0.1启动错误解决
  • Komo Searc-AI驱动的搜索引擎
  • 区块链+隐私计算护航“东数西算”数据安全报告
  • 20.22 QLoRA微调实战:中文语音识别数据准备全流程解密
  • hintcon2025No Man‘s Echo
  • 国产芯力量!贴片式SD卡搭载北京君正Rk瑞芯微,打造嵌入式存储低延迟+高可靠黄金组合​
  • 《从应用到内核:三种流量转发方案深度对比》
  • 手机上访问你电脑上的前端项目
  • 机器学习和高性能计算中常用的几种浮点数精度
  • ​突破RAG知识库中的PDF解析瓶颈:从文本错乱到多模态处理的架构跃迁​
  • 面试tips--JVM(2)--对象创建的过程
  • SLF4J和LogBack
  • 工业级TF卡NAND + 北京君正 + Rk瑞芯微的应用
  • @Jenkins 介绍、部署与使用标准作业程序
  • Gin Validator 错误信息翻译与自定义校验规则详解
  • VS2022+QT6.7+Multimedia(捕获Windows音频数据,生成实时频谱)
  • 浅谈JMeter Listener
  • 安宝特方案丨AR异地专家远程支持平台,适合:机电运维、应急处置、监造验收
  • esp32c2 at 请问通过HTTPS进行OTA升级的AT命令流程有吗?