关于libstdc++中abi::__cxa_demangle实现位置的技术问询
关于
abi::__cxa_demangle的问题解答 线程中提到的
libstdc++-v3 demangler是否仍存在?
不存在了。2003年相关讨论后,原libstdc++-v3自带的独立demangler已被移除,当前gcc源码树中不再包含这部分代码。libiberty demangler是否被用于libstdc++-v3?
是的。尽管libiberty库本身仅被少数GNU程序使用且处于维护状态,但它的C名字解析(demangle)代码被保留并整合进了libstdc-v3的构建流程,作为abi::__cxa_demangle的底层实现。在哪里可以找到
abi::__cxa_demangle的实现?
核心实现位于gcc源码树的libiberty目录下的cp-demangle.c文件中。此外,在libstdc++的libsupc++目录下的cxxabi.cc文件里,有一层适配封装,将libiberty的demangler接口包装成标准的abi::__cxa_demangle对外接口供用户调用。
内容的提问来源于stack exchange,提问作者ChrisG
相关产品推荐
相关产品推荐

