Skip to content

libstdc++ (GCC) 源码级深度剖析

源码路径:references/impl/gcc/libstdc++-v3/include/

GCC 的 C++ 标准库实现,Linux 生态的事实标准。核心设计理念:ABI 稳定性优先于激进优化

目录

章节内容
string ABI 迁移COW → SSO 迁移、双 ABI 共存、__cxx11 命名空间
vector 与 _Hashtablevector 增长策略、unordered_map 节点式 _Hashtable
shared_ptr / RB-tree / function控制块、_Rb_tree 哨兵节点、函数指针 SBO

三实现综合对比

组件libstdc++ (GCC)libc++ (LLVM)MSVC STL
sizeof(string)322432
string SSO152215
string COW有(ABI v1)
vector relocatemove+destroymemcpymove+destroy
function 多态函数指针虚函数函数指针
unordered_map节点式 _Hashtable链式链式
ABI 稳定性最强(abi_tag)版本化

选 libstdc++:Linux 服务器、最强 ABI 兼容、保守稳定的实现策略、HPC。

基于 MIT 许可发布