C++ の装飾名の形式
更新 : 2007 年 11 月
C++ 関数の装飾名には、次の情報が含まれています。
関数名。
メンバ関数の場合は、所属先のクラスの名前。メンバ関数の所属先のクラスがさらに別のクラスに所属している場合は、そのクラス名も示します。
関数が名前空間に属する場合は、関数の属する名前空間。
関数のパラメータの型。
呼び出し規約。
関数の戻り値の型。
関数名とクラス名は、装飾名でエンコードされます。装飾文字列のその他の部分は内部的な意味を持つコードであり、コンパイラとリンカだけが利用します。次は、C++ の非装飾名と装飾名の例です。
非装飾名 |
装飾名 |
---|---|
int a(char){int i=3;return i;}; |
?a@@YAHD@Z |
void __stdcall b::c(float){}; |
?c@b@@AAGXM@Z |