温馨提示×

ubuntu gcc支持哪些标准

小樊
57
2026-09-16 05:26:48
栏目: 智能运维

在 Ubuntu 上,GCC(GNU Compiler Collection)支持多种 C 和 C++ 语言标准,具体取决于你安装的 GCC 版本。下面按语言和标准说明。


一、C 语言标准(-std= 选项)

常用 C 标准:

标准 说明 示例
c89 / c90 ANSI C / ISO C 1990 -std=c89
gnu89 C89 + GNU 扩展 -std=gnu89
c99 ISO C 1999 -std=c99
gnu99 C99 + GNU 扩展 -std=gnu99
c11 ISO C 2011 -std=c11
gnu11 C11 + GNU 扩展 -std=gnu11
c17 / c18 ISO C 2017(技术修正) -std=c17
gnu17 C17 + GNU 扩展 -std=gnu17
c2x(实验) 下一代 C 标准 -std=c2x
gnu2x C2x + GNU 扩展 -std=gnu2x

✅ Ubuntu 20.04+ 的 GCC(9+)默认通常是 gnu17(或 gnu11)

查看默认标准:

echo | gcc -E -dM - | grep __STDC_VERSION__

二、C++ 语言标准

标准 说明 示例
c++98 第一版 ISO C++ -std=c++98
gnu++98 C++98 + GNU 扩展
c++03 C++98 修正版
c++11 现代 C++ 起点 -std=c++11
gnu++11
c++14 -std=c++14
gnu++14
c++17 当前主流 -std=c++17
gnu++17
c++20 GCC 10+ 较好支持 -std=c++20
gnu++20
c++23 实验(GCC 12+) -std=c++23

三、查看你的 GCC 支持哪些标准

1️⃣ 查看 GCC 版本

gcc --version
g++ --version

2️⃣ 查看支持的 C 标准

gcc --help=target | grep std

或直接尝试:

gcc -std=c17 -dM -E - < /dev/null

四、Ubuntu 常见 GCC 版本对照

Ubuntu GCC 默认 C++
18.04 7 gnu++14
20.04 9 gnu++14
22.04 11 gnu++17
24.04 13 gnu++17

五、推荐用法

✅ 新项目建议:

gcc -std=c17
g++ -std=c++17

如果你告诉我:

  • Ubuntu 版本
  • GCC 版本
  • C 还是 C++

我可以给你精确支持列表和编译示例。

0 踩