0

Fortran プロジェクトでは、Fortran 2003 でオブジェクト指向プログラミングを行っているため、モジュールを多用しています。現在、約 7 つの異なるレベルを持つオブジェクトの階層があります。私たちにとっての問題は、高レベルのモジュールとファイルが数行しかない場合でも、コンパイルにかなりの時間がかかることです。

作成されたファイルを見ると、これの原因として考えられるのは、非常に大きな .mod ファイルが書き込まれていることです。これらのファイルを調べると (たとえば gfortran 4.6 の場合)、再帰的に使用されるすべてのオブジェクトとモジュールの完全なインターフェイスが、各高レベルの .mod ファイルに含まれていることがわかります。これらのファイルは、圧縮形式で保存される gfortran 4.9 でははるかに小さくなりますが、それでも非常に大きく、コンパイル時間が遅くなります。

各モジュールでプライベート ステートメントを使用しようとしましたが (現在のモジュールを使用するだけでは、基になる使用済みモジュールが表示されないようにするため)、結果の .mod ファイルのサイズには影響しません。

この問題を解決できるプログラミング方法やコンパイラ ディレクティブはありますか?

4

0 に答える 0