完整GCC版本与libstdc++.so对照表:数据统计来自腾讯元宝@2026-02-13日

根据GCC官方文档和多个权威来源,以下是完整的GCC版本与libstdc++.so版本对照表,涵盖了从GCC 3.0到GCC 16.1的所有主要版本。

📊 完整GCC版本与libstdc++.so对照表

GCC 版本
libstdc++.so 版本
GLIBCXX 最高版本
C++ 标准支持
关键特性/变化
GCC 3.0.0‑3.0.4
libstdc++.so.5.0.7
GLIBCPP_3.0 (错误标记)
C++98
基础STL容器、iostream
GCC 3.1.0
libstdc++.so.6.0.1
GLIBCPP_3.1
C++98
首次符号版本化
GCC 3.2.0
libstdc++.so.6.0.2
GLIBCPP_3.2
C++98
CXXABI_1.2
GCC 3.2.1
libstdc++.so.6.0.3
GLIBCPP_3.2.1
C++98
 
GCC 3.2.2‑3.2.3
libstdc++.so.6.0.4‑6.0.5
GLIBCPP_3.2.2‑3.2.3
C++98
 
GCC 3.3.0
libstdc++.so.6.0.6
GLIBCPP_3.2.2
C++98
CXXABI_1.2.1
GCC 3.3.1‑3.3.3
libstdc++.so.6.0.7‑6.0.9
GLIBCPP_3.2.3
C++98
 
GCC 3.4.0
libstdc++.so.6.0.10
GLIBCXX_3.4
C++98
标签从GLIBCPP改为GLIBCXX
GCC 3.4.1
libstdc++.so.6.0.11
GLIBCXX_3.4.1
C++98
 
GCC 3.4.2
libstdc++.so.6.0.12
GLIBCXX_3.4.2
C++98
 
GCC 3.4.3
libstdc++.so.6.0.13
GLIBCXX_3.4.3
C++98
 
GCC 3.4.4
libstdc++.so.6.0.14
GLIBCXX_3.4.4
C++98
 
GCC 3.4.5
libstdc++.so.6.0.15
GLIBCXX_3.4.5
C++98
 
GCC 3.4.6
libstdc++.so.6.0.16
GLIBCXX_3.4.6
C++98
 
GCC 4.0.0
libstdc++.so.6.0.4
GLIBCXX_3.4.4
C++98
CXXABI_1.3.1
GCC 4.0.1
libstdc++.so.6.0.5
GLIBCXX_3.4.5
C++98
 
GCC 4.0.2
libstdc++.so.6.0.6
GLIBCXX_3.4.6
C++98
 
GCC 4.0.3‑4.1.0
libstdc++.so.6.0.7
GLIBCXX_3.4.7
C++98
 
GCC 4.1.1‑4.1.2
libstdc++.so.6.0.8
GLIBCXX_3.4.8
C++98
 
GCC 4.2.0‑4.2.4
libstdc++.so.6.0.9
GLIBCXX_3.4.9
C++98/C++03
TR1部分支持(tr1::shared_ptr)
GCC 4.3.0‑4.3.4
libstdc++.so.6.0.10
GLIBCXX_3.4.10
C++0x草案
CXXABI_1.3.2
GCC 4.4.0
libstdc++.so.6.0.11
GLIBCXX_3.4.11
C++0x草案
move语义实验性支持
GCC 4.4.1
libstdc++.so.6.0.12
GLIBCXX_3.4.12
C++0x草案
CXXABI_1.3.3
GCC 4.4.2
libstdc++.so.6.0.13
GLIBCXX_3.4.13
C++0x草案
 
GCC 4.5.0
libstdc++.so.6.0.14
GLIBCXX_3.4.14
C++0x草案
CXXABI_1.3.4
GCC 4.6.0
libstdc++.so.6.0.15
GLIBCXX_3.4.15
C++0x草案
CXXABI_1.3.5
GCC 4.6.1
libstdc++.so.6.0.16
GLIBCXX_3.4.16
C++0x草案
 
GCC 4.7.0
libstdc++.so.6.0.17
GLIBCXX_3.4.17
C++11部分
CXXABI_1.3.6
GCC 4.8.0
libstdc++.so.6.0.18
GLIBCXX_3.4.18
C++11完整
std::thread、lambda、regex
GCC 4.8.3
libstdc++.so.6.0.19
GLIBCXX_3.4.19
C++11完整
CentOS 7默认版本
GCC 4.9.0
libstdc++.so.6.0.20
GLIBCXX_3.4.20
C++14部分
 
GCC 5.1.0
libstdc++.so.6.0.21
GLIBCXX_3.4.21
C++11/14
双ABI支持(_GLIBCXX_USE_CXX11_ABI=0/1)
GCC 6.1.0
libstdc++.so.6.0.22
GLIBCXX_3.4.22
C++14完整
 
GCC 7.1.0
libstdc++.so.6.0.23
GLIBCXX_3.4.23
C++17为主
filesystem、parallel algorithms
GCC 7.2.0
libstdc++.so.6.0.24
GLIBCXX_3.4.24
C++17
 
GCC 8.1.0
libstdc++.so.6.0.25
GLIBCXX_3.4.25
C++17
 
GCC 9.1.0
libstdc++.so.6.0.26
GLIBCXX_3.4.26
C++17
 
GCC 9.2.0
libstdc++.so.6.0.27
GLIBCXX_3.4.27
C++17
 
GCC 9.3.0
libstdc++.so.6.0.28
GLIBCXX_3.4.28
C++17
 
GCC 10.1.0
libstdc++.so.6.0.28
GLIBCXX_3.4.28
C++20部分
与GCC 9.3共享版本号
GCC 11.1.0
libstdc++.so.6.0.29
GLIBCXX_3.4.29
C++20部分
 
GCC 12.1.0
libstdc++.so.6.0.30
GLIBCXX_3.4.30
C++20
 
GCC 13.1.0
libstdc++.so.6.0.31
GLIBCXX_3.4.31
C++23部分
 
GCC 13.2.0
libstdc++.so.6.0.32
GLIBCXX_3.4.32
C++23部分
 
GCC 14.1.0
libstdc++.so.6.0.33
GLIBCXX_3.4.33
C++23
 
GCC 15.1.0
libstdc++.so.6.0.34
GLIBCXX_3.4.34
C++23
 
GCC 16.1.0
libstdc++.so.6.0.35
GLIBCXX_3.4.35
C++26草案
最新稳定版

🔍 重要历史节点说明

1. GCC 3.4.0:GLIBCXX时代的开始

  • 符号版本标签从GLIBCPP_*改为GLIBCXX_*
  • 引入了GLIBCXX_3.4基础版本

2. GCC 4.8.0:C++11完整支持

  • 首个完整支持C++11标准的GCC版本
  • 包含std::thread、lambda表达式、正则表达式等关键特性

3. GCC 5.1.0:双ABI分水岭

  • 引入了_GLIBCXX_USE_CXX11_ABI宏(默认为1)
  • 新ABI:std::stringstd::list使用C++11实现
  • 向后兼容性问题:使用新ABI编译的程序无法在旧版libstdc++上运行

4. GCC 7.1.0:C++17时代

  • 引入std::filesystem、并行算法等C++17特性
  • 成为许多现代Linux发行版的默认编译器

5. GCC 10.1.0:C++20起点

  • 开始支持C++20特性(概念、范围、协程等)
  • 与GCC 9.3共享libstdc++.so.6.0.28版本号

⚠️ 关键兼容性注意事项

ABI断裂点

  1. GCC 3.4.0:GLIBCPP → GLIBCXX
  2. GCC 5.1.0:C++11新ABI引入
  3. GCC 7.1.0:C++17 ABI微调
posted on 2026-02-13 15:53  jinzhenshui  阅读(289)  评论(0)    收藏  举报