如何在 clang(或 gcc)中解构C++名称

How to demangle a C++ name in clang (or gcc)?

本文关键字:C++ 名称 gcc clang      更新时间:2023-10-16

我正在尝试为clang编写一个快速而肮脏的demangler。我找到了一段使用 abi::__cxa_demangle 的代码,但我无法弄清楚它需要哪个标头。显而易见的选择是 ABI.h,但是:

demangle.cpp:2:10: fatal error: 'ABI.h' file not found
#include <ABI.h>
         ^

我需要使用什么abi::__cxa_demangle

include cxxabi.h .在 Ubuntu 13 中,这个标头是 /usr/include/c++/4.x x是次要的 gcc 版本。

包括 cxxabi.h,但对于 Ubuntu 上的 clang,您需要安装软件包 libc++abi-dev。