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