マニュアルページ demangle.3
名前
demangle, cplus_demangle, cplus_demangle_noret - C++ の符 号
化されたシンボル名の復号化
形式
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() 関数シンボル名に対する戻り値が解釈 に
含まれない点を除いて、 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)