2009-08-06 31 views
2

現在、私はFortranのDLLであるabc.dllを持っています。今、私はabc.dllからC#コードを呼びたいと思います。 FortranのDLLからC#コードを呼び出す方法はありますか? (私は、Fortran DLLが可能と考えているよう)あなたのプログラムが完全にネイティブコードで記述されている場合FortranのDLLからC#コードを呼び出す方法

おかげ サーガルは

+0

この記事は一見価値があります。http://xtechnotes.blogspot.com/2008/07/callback-to-c-from-unmanaged-fortran.html –

答えて

2

通常、あなたは別のネイティブからエクスポートされています方法(dllexport)を呼び出す必要がありますコードモジュール。この場合、ネイティブインターフェイスを公開し、内部的にC#コードを呼び出すManaged C++ dllを作成する必要があります。

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

-1

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

関連する問題