Fortran、C、C++、および MASM のプロシージャー名

Fortran、C/C++、および MASM (Windows*) でのプロシージャー名の処理について次に示します。MASM では、CASEMAP: ALL オプションが使用されている場合、この表は適用されません。

Fortran、C、Visual C++*、および MASM の命名規則

言語

属性

変換後の名前

.OBJ ファイル中の名前の大文字と小文字

Fortran

cDEC$ ATTRIBUTES C

name (Linux*)

_name (Windows)

_name (Mac OS* X)

すべて小文字

Fortran

(Windows)

cDEC$ ATTRIBUTES STDCALL

_name@n

すべて小文字

Fortran

default

name_ (Linux)

_name (Windows)

_name_ (Mac OS X)

すべて大文字

C

cdecl (デフォルト)

name (Linux)

_name (Windows)

_name (Mac OS X)

大文字と小文字を区別する

C (Windows のみ)

__stdcall

_name@n

大文字と小文字を区別する

C++

デフォルト

name@@decoration (Linux)

_name@@decoration (Windows)

__decorationnamedecoration (Mac OS X)

大文字と小文字を区別する

Linux、Mac OS X アセンブリー

デフォルト

name (Linux)

_name (Mac OS X)

大文字と小文字を区別する

MASM

(Windows)

C (PROTO 宣言および PROC 宣言)

_name

大文字と小文字を区別する

MASM

(Windows)

STDCALL (PROTO 宣言および PROC 宣言)

_name@n

大文字と小文字を区別する

上記の表で使用されている記号の意味は、次のとおりです。

例えば、関数が C で次のように宣言されているとします。

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

各整数は 4 バイトを占有しているため、IA-32 アーキテクチャー・システムで .OBJ ファイルに格納されるシンボル名は次のようになります。

  _Sum_Up@12

インテル® 64 アーキテクチャー・システムおよび IA-64 アーキテクチャー・システムで .OBJ ファイルに格納されるシンボル名は次のようになります。

  Sum_Up