2

Fortran多くのモジュールを使用するライブラリがあります。ifortWindows でコンパイラを使用します。そのため*.lib、ライブラリ用の*.modファイルと使用モジュール用のファイルを取得します。

*.modこれには、コンパイルされたライブラリを別のプログラムで使用したい場合に、ファイルを配布する必要があるという欠点があります。どうすればこれを防ぐことができますか? 2 つの可能性があります。

  1. ライブラリモジュール内の関数またはプロシージャを呼び出すために使用される関数が定義されているインターフェイスを作成します。したがって、インターフェイスが定義されているファイルを提供するだけで済みます。
  2. bind(c)関数定義で使用するライブラリの外部から使用する必要があるすべてのモジュール関数とプロシージャには、c インターフェイスとエクスポート名を使用します。次に、C ライクなヘッダー ファイルを使用してライブラリを配布できます。

他の可能性はありますか?モジュールを使用するコンパイル済みの Fortran ライブラリを配布するためのベスト プラクティスは何ですか?

4

1 に答える 1

1

.modファイルも配布するのは、Fortran から呼び出せば、断然楽だと思います。他の言語から呼び出す場合は、とにかく C インターフェイスが必要です。

悪い点は、Fortran の明示的なインターフェイスが失われることです。オプション番号1を使用すると、インターフェースブロックを含むインクルードファイルを提供する場合、おそらくそれを使用できますが、ファイルを提供するだけの.mod方がIMHOの方が優れています。

于 2012-12-04T11:41:45.787 に答える