メインプログラムからのサブプログラムの呼び出し

言語が混在したアプリケーションでは、インテル® Fortran のメインプログラムからほかの言語で書かれたサブプログラムを呼び出すことができます。また、逆に、ほかの言語で書かれたメインプログラムからインテル® Fortran のサブプログラム (DLL やスタティック・ライブラリーに含まれたサブプログラム) を呼び出すこともできます。

Microsoft* Visual Studio* プロジェクトは、単一言語をサポートするため、各言語のコードはそれぞれのプロジェクトに含める必要があります。

次に、言語が混在したプログラミングにおけるインテル® Fortran との互換性を、マネージドコードおよびアンマネージド・コードの両方を対象として説明します。マネージドコードはアーキテクチャーに依存しないコードで、Microsoft .NET 共通言語ランタイム環境の制御下で実行します。アンマネージド・コードは、アーキテクチャー固有のネイティブコードです。

言語が混在したアプリケーションは、さまざまな形式でメインプログラムおよびサブプログラムを提供できます。

インテル® Fortran のメインプログラムまたはサブプログラムは、Fortran 以外で書かれた、次のいずれかのサブプログラムを呼び出すことができます。

[Project (プロジェクト)] > [Properties (プロパティ)] > [Linker (リンカー)] > [Input (入力)] > [Additional Dependencies (追加の依存ファイル)]、またはアプリケーションをリンクするコマンドラインから、.OBJ または .LIB の名前を指定してください。

言語が混在したソリューションを Visual C++ IDE で作成する場合、Win32* スタティック・ライブラリーとして別のプロジェクトを作成し、インテル® Fortran プロジェクトの依存プロジェクトとして指定します。作成したライブラリーは、自動的にリンクされます。

インポート・ライブラリーを (可能な場合、上記で説明したスタティック・ライブラリーとして) 提供します。

インポート・ライブラリーが存在しない場合は、Windows* API ルーチンの LoadLibrary および GetProcAddress を使用し、整数ポインターによってプロシージャーを呼び出します。

インテル® Fortran モジュールウィザードを使用して、アセンブリーのルーチンへのインターフェイスを生成できます。

インテル® Fortran のサブプログラムは、コンパイル済みのオブジェクト、スタティック・ライブラリー、またはダイナミック・リンク・ライブラリーとして、Fortran 以外の言語で書かれたメインプログラムまたはサブプログラムから呼び出すことができます (これは、呼び出し元の言語の機能に依存します)。.NET マネージド・コード・アセンブリーからインテル® Fortran コードを呼び出す場合は、Fortran コードが DLL 内になければなりません。詳細は、呼び出し元の言語のマニュアルを参照してください。


このヘルプトピックについてのフィードバックを送信

© 1996-2011 Intel Corporation. 無断での引用、転載を禁じます。