Oracle Solaris Studio 12.4 Man Pages

Exit Print View

Updated: January 2015
 
 

cplus_demangle(3)

Name

demangle , cplus_demangle , cplus_demangle_noret - 解码 C++ 编码的符号名称

Synopsis

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() 具有以下返回值:

0(零)

symbol 参数是有效的编码名称,interpretation 包含解码名称。

DEMANGLE_ENAME

symbol 参数不是编码名称,或者 symbol 参数是错误编码的名称。

interpretation 缓冲区的内容是 symbol 内容的副本。

DEMANGLE_ESPACE

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()。

See also

CC(1)、dem(1)、c++filt(1)