1

使用している大規模な Fortran プログラムからもう少し速度を上げようとしています。私は (まだ) コードに詳しくないので、コンパイラの最適化が最初の目的地になると思いました。gfortran の-O1オプションを使用しても問題ありませんが-O2-O3予期しない NaN の形式で実行時エラーが発生しました。-O2その構成フラグに分解すること-ftree-preで、それが問題であり、他のすべてが正常に機能していると判断しました。

-ftree-preフラグだけを抑制する方法はありますか? -O3 -no-ftree-preそうすれば、それが理にかなっていれば、でコンパイルできます。

コードのどの部分でエラーが発生しているかは既に特定できているので、長期的な計画としてはエラーを排除することです。しかし、これは今のところ簡単な修正になります。

4

1 に答える 1

1

GCC マニュアルページに記載されているとおり:

-f多くのオプションには、またはで始まる長い名前が付いています。-Wたとえば、-fmove-loop-invariantsなど-Wformatです。これらのほとんどには、正と負の両方の形式があります。の否定形は-ffooです-fno-foo。このマニュアルでは、これら 2 つの形式のうち、デフォルトでない方の 1 つだけを説明します。

-O3あなたの場合、 enableの効果を無効にするために、フラグの-ftree-preに追加する必要があります。-fno-tree-pre -O3

于 2012-09-24T08:41:40.107 に答える