2

現在、fortran dll である abc.dll があります。ここで、abc.dll から C# コードを呼び出したいと考えています。fortran dll から C# コードを呼び出す方法はありますか?

ありがとうサーガル

4

2 に答える 2

2

通常、プログラムが完全にネイティブコードで記述されている場合(Fortran dllがそうであると私は信じていますdllexport)、別のネイティブコードモジュールからエクスポートされた()メソッドを呼び出す必要があります。この場合、ネイティブインターフェイスを公開し、内部でC#コードを呼び出すマネージC++dllを作成する必要があります。

編集:ホスティングプログラムがマネージコードであり、C#-> Fortran(ネイティブ)-> C#呼び出しシーケンスを実行する必要がある場合は、上記のコメントでリンクされているように、アンマネージ関数ポインターとしてのデリゲートを使用できます。ただし、実行可能ファイルがマネージコードでない場合は、前述のルートをたどる必要があります。

于 2009-08-06T05:45:42.303 に答える
-1

最近のFortran言語機能(2003標準)をサポートするコンパイラーは、C相互運用をサポートします。ISO_C_BINDINGモジュールとBINDコンストラクトを使用して、Cインターフェイスを介して他のコードとインターフェイスします。最近のコンパイラにはそれがあり、それは標準であり、キーワードISO_C_BINDINGをグーグルで検索することで(このような)多くのドキュメントを見つけることができます。

于 2009-08-09T21:13:10.390 に答える