cc [ flag ... ] file [ library ... ] -ldemangle
#include <demangle.h> int cplus_demangle( const char *symbol, char *interpreta- tion, size_t size );
cplus_demangle() 可解释(取消改编)编码的 C++ 链接程序符号名称(改编的名称)。
cplus_demangle_noret() 作用相同,但函数符号的返回类型不包括在解释中。
某些 C++ 链接程序符号名称并未编码。在这些情况下,返回值是 DEMANGLE_ENAME。
symbol 字符串参数指向链接程序符号名称。
interpretation 参数指向用户指定的输出字符串缓冲区(size 字节)。
cplus_demangle() 和 cplus_demangle_noret() 具有以下返回值:
symbol 参数是有效的编码名称,interpretation 包含解码名称。
symbol 参数不是编码名称,或者 symbol 参数是错误编码的名称。
interpretation 缓冲区的内容是 symbol 内容的副本。
interpretation 输出缓冲区太小,无法包含解释(解码的名称或链接程序符号名称)。
interpretation 缓冲区的内容未定义。
cplus_demangle() 和 cplus_demangle_noret() 可对 Sun WorkShop C++ 编译器版本 3.0.1、4.0.1、4.1、4.2、5.0、5.1 和 5.2 编码的名称进行操作。
cplus_demangle() 和 cplus_demangle_noret() 经过改进,取代了 demangle()。
CC(1)、dem(1)、c++filt(1)