インテル® MKL 11.3 ユーザーズガイド

cdecl インターフェイスと stdcall インターフェイスの使用

インテル® MKL は、IA-32 アーキテクチャーの実装で以下のインターフェイスを提供しています。

これらのインターフェイスを使用するには、以下の表を参照して、適切なライブラリーをリンクします。

インターフェイス

スタティック・リンク用ライブラリー

ダイナミック・リンク用ライブラリー

cdecl

mkl_intel_c.lib

mkl_intel_c_dll.lib

stdcall

mkl_intel_s.lib

mkl_intel_s_dll.lib

cdecl または stdcall インターフェイス・ライブラリーをリンクするには、適切な呼び出し構文 (C アプリケーション) および適切なコンパイラー・オプション (Fortran アプリケーション) を使用します。

C コンパイラーを使用する場合、cdecl または stdcall インターフェイス・ライブラリーをリンクするには、以下の表で説明されているように、コードでインテル® MKL ルーチンを呼び出します。

インターフェイス・ライブラリー

インテル® MKL ルーチンの呼び出し

mkl_intel_s[_dll].lib

以下のステートメントを使用してルーチンを呼び出します。

extern __stdcall name( <プロトタイプ変数 1>,<プロトタイプ変数 2>, .. );

stdcall は CVF コンパイラーのデフォルトの呼び出し規約であり、文字列をルーチンに渡す stdcall とは異なります。 デフォルトの CVF 形式は stdcall と同一でないため、呼び出しシーケンスの文字列を特別に制御する必要があります。 詳細は、CVF ドキュメントのインターフェイスについてのセクションを参照してください。

mkl_intel_c[_dll].lib

以下の宣言を使用します。

<型>名前 ( <プロトタイプ変数 1>, <プロトタイプ変数 2>, ..  ); 

Fortran コンパイラーを使用する場合、cdecl または stdcall インターフェイス・ライブラリーをリンクするには、以下の表で説明されているように、コンパイラー・オプションを指定します。

インターフェイス・ライブラリー

コンパイラー・オプション

内容

CVF コンパイラー

mkl_intel_s[_dll].lib

デフォルト

 

mkl_intel_c[_dll].lib

/iface=(cref, nomixed_str_len_arg)

 

インテル® Fortran コンパイラー

mkl_intel_c[_dll].lib

デフォルト

 

mkl_intel_s[_dll].lib

/Gm
または
/iface:cvf

/Gm および /iface:cvf オプションは、CVF と Powerstation の呼び出し規則を互換にします。

関連情報