0

LAPACK ライブラリを呼び出す必要がある FORTRAN 95 プログラムがあります。Cygwin は、追加オプションとして LAPACK をインストールできるため、最近知りました。

さて、LAPACK は /lib/lapack/ ディレクトリに「cyglap​​ack.dll」として存在します。Fortran プログラミングの非常に非公式なトレーニングしか受けていないので、.mod モジュールではなく .dll ライブラリを参照する方法がわかりません。

私の質問に答える記事への提案や指示は大歓迎です! (PS 最初に検索を行いました。有用な記事を取得するための適切な用語を知っているとは思いません。)

4

2 に答える 2

0

検索ワード:dynamic linking fortran

このページを見てください:

http://sources.redhat.com/ml/binutils/2001-12/msg00471.html

dlltool を使用して.aファイルからファイルを生成することについて言及してい.dllます。おそらく、通常の方法でリンクできるはずです(通常libはコンパイルコマンドのスイッチ)。

それ以外の場合は、そもそも問題を回避するために、Linux Live CD を実行することを検討してください。あなたが学生または研究者である場合は、プログラムをコンパイルして実行できる fortran がインストールされたサーバー (通常、IT スタッフは非常に役に立ちます) を見つけることができるかどうかを確認してください。

于 2010-10-18T13:56:44.093 に答える
0

概念的には、Lapack の呼び出しは、他の DLL を呼び出すのと同じくらい簡単です。ビルドステートメントに含めるリンクフラグとステートメントを把握するだけです。

Fortran からは、おそらく、EXTERNAL使用したくない Lapack の関数として宣言するでしょう。これにより、ソースまたは mod ファイルで関数の定義をわざわざ探すのではなく、リンク時に定義が提供されるようにコンパイラーに指示します。呼び出しの署名が DLL が期待する署名と一致することを確認するため、ここから楽しみが始まります。

より多くの情報を提供していただけると、より多くのサポートを提供できる可能性があります。Windows 開発環境は何ですか? どの Fortran コンパイラを使用していますか? どのコンパイルおよびリンク ツールを使用していますか? 現在のリンク文はどのようになっていますか?

于 2010-04-24T11:59:55.187 に答える