Fortran,C,Visual C++,Visual Basic,および MASM の名付け規約

次表に,Fortran,Visual C/C++,Visual Basic,および MASM が手続名をどのように処理するかを要約して示します。MASM の場合,この表は,CASEMAP: ALL オプションが使用されている場合には当てはまらないことに注意してください。

Fortran,Visual C/C++,Visual Basic,および MASM での名付け規約

言語 属性 変換後の名前 .OBJ ファイル中の名前の大文字小文字
Fortran cDEC$ ATTRIBUTES C _name すべて小文字
cDEC$ ATTRIBUTES STDCALL _name@n すべて小文字
基本設定 _name@n すべて大文字
C cdecl (基本設定) _name 大文字小文字の区別は保たれる
__stdcall _name@n 大文字小文字の区別は保たれる
Visual C++ 基本設定 _name@@decoration 大文字小文字の区別は保たれる
Visual Basic 基本設定 _name@n 大文字小文字の区別は保たれる
MASM C (PROTO および PROC 宣言で) _name 大文字小文字の区別は保たれる
STDCALL (PROTO および PROC 宣言で) _name@n 大文字小文字の区別は保たれる

次に,この表で使われている記号の意味を示します。

たとえば,C において関数が次のように宣言されていたとします。

	extern int __stdcall Sum_Up( int a, int b, int c );

個々の整数は 4 バイトを占有しているので,ia32 システムで .OBJ ファイルに格納されているシンボル名は次のようになります。

	_Sum_Up@12

ia64 システムでは,.OBJ ファイルに格納されているシンボル名は次のようになります。

	Sum_Up