8

C の「インライン」キーワードに相当する Fortran キーワードはありますか?

コンパイラ固有のキーワードが存在する場合、gfortran 用のキーワードはありますか?

4

2 に答える 2

8

一般に、Fortran の仕様は、コンパイラーの作成者に実装方法に関する膨大な範囲を与えているため、特定の最適化を強制 (またはほのめかし) する言語レベルの構造は、非常に Fortran らしくありません。

現代の Fortran で一般的に行うことは、最適化を指定することではなく、実装する最適化を決定するために使用できることをコンパイラーに伝えることです。したがって、例としては、副作用のない関数またはサブルーチンPUREにラベルを付けて、特定の最適化が有効になるようにします (実際、これによりインライン化が容易になる場合があります)。

それ以外の場合は、@Vladimir F が指摘するように、このよう事前に制限されたコンパイラ オプションを使用できます。

同様に、CONTAINedサブプログラムはgfortranによってより積極的にインライン化されているようですが、それが役立つ場合とそうでない場合があります。

于 2011-07-21T17:09:49.887 に答える
2

私が知っているソースコードステートメントはありません。明らかにインライン化されているステートメント関数を使用できる場合があります。それ以外の場合は、コンパイラのコマンド ライン オプションを gfortran の「-finline-functions」として使用します。

于 2011-07-21T16:04:15.987 に答える