DEMANGLE(3)

名前
demangle, cplus_demangle, cplus_demangle_noret - C++ の符号化されたシンボル名の復号化

形式
cc [ flag ... ] file [ library ... ] -ldemangle

#include <demangle.h>
int cplus_demangle( const char *symbol, char *interpretation, size_t size );

機能説明
cplus_demangle() は、符号化 C++ リンカーのシンボル名 (符号化名) を解釈 (復号化) します。

cplus_demangle_noret() 関数シンボル名に対する戻り値が解釈に含まれない点を除いて、 cplus_demangle() と同じです。

C++ リンカーのシンボル名には符号化されないものがあります。このような場合は、 戻り値は DEMANGLE_ENAME になります。

symbol 文字列パラメータは、リンカーのシンボル名を指します。

interpretation パラメータは、ユーザー指定の出力文字列バッファ (サイズは size に指定されたバイト数) を指します。

cplus_demangle() および cplus_demangle_noret() は、次の値を返します。

0   symbol パラメータは有効な符号化名であり、 interpretation の内容は復号化名です。

DEMANGLE_ENAME
    symbol パラメータは有効な符号化名ではないか、 誤って符号化されたものです。

    interpretation バッファの内容は symbol の内容のコピーです。

DEMANGLE_ESPACE
    interpretation 出力バッファは解釈 (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() を改良したもので、 demangle() の代わりに使用できます。

関連項目
CC(1)、 dem(1)、 c++filt(1)