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

2019-04-10 12:24发布

问题:

I'm trying to write a quick-and-dirty demangler for clang. I've found a piece of code that uses abi::__cxa_demangle, but I can't figure out which header it requires. The obvious choice is ABI.h but:

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

What do I need to use abi::__cxa_demangle?

回答1:

Include cxxabi.h. In Ubuntu 13 this header is in /usr/include/c++/4.x where x is minor gcc version.



回答2:

Include cxxabi.h, but for clang on Ubuntu you'll need to install the package libc++abi-dev.



标签: c++ gcc clang abi