










根据GCC官方文档和多个权威来源,以下是完整的GCC版本与libstdc++.so版本对照表,涵盖了从GCC 3.0到GCC 16.1的所有主要版本。
|
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草案 |
最新稳定版 |
符号版本标签从GLIBCPP_*改为GLIBCXX_*
引入了GLIBCXX_3.4基础版本
首个完整支持C++11标准的GCC版本
包含std::thread、lambda表达式、正则表达式等关键特性
引入了_GLIBCXX_USE_CXX11_ABI宏(默认为1)
新ABI:std::string和std::list使用C++11实现
向后兼容性问题:使用新ABI编译的程序无法在旧版libstdc++上运行
引入std::filesystem、并行算法等C++17特性
成为许多现代Linux发行版的默认编译器
开始支持C++20特性(概念、范围、协程等)
与GCC 9.3共享libstdc++.so.6.0.28版本号
GCC 3.4.0:GLIBCPP → GLIBCXX
GCC 5.1.0:C++11新ABI引入
GCC 7.1.0:C++17 ABI微调
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。