インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド
インテル® Fortran プログラムの移植性を最大限に高めるには、標準言語機能を使用してください。プログラムの移植性を向上するために堅固な実装を設計したり、またはプログラムの読みやすさ、機能性、および効率性を向上するために拡張機能を使用することもできます。
適切なキーワード (f90、f95、f03、または f08) を指定して stand コンパイラー・オプションを使用することで、プログラムは特定の Fortran 規格に準拠します。 none キーワードは、特定の Fortran 規格への準拠を無効にします。 次のコンパイラー・オプションを使用して、Fortran 規格を設定することもできます。
std08
std03
std95
std90
standard-semantics コンパイラー・オプションを使用して、コンパイラーが現在の Fortran 規格の動作に従うようすべてのオプションを有効にできます。
すべての Fortran 規格の拡張が、ほかのプラットフォームへの移植の際に問題を引き起こすわけではありません。多くの拡張は幅広いプラットフォームでサポートされており、プログラムの移植先のシステムがその拡張をサポートしているのであれば、使用を避ける必要はありません。ただし、別のシステムで同じ機能が、インテル® Fortran と同じように実装されているという保証はありません。すべてのプラットフォームに準拠されていることが保証されているのは Fortran 規格だけです。
インテル® Fortran は、Windows*、Linux*、OS X* システムを含む複数のプラットフォーム上で、多数の言語拡張子をサポートします。また、「Intel® Fortran Language Reference」(英語) では、各言語要素が他のプラットフォームでサポートされているかどうか識別しています。
次の理由から、すべての外部プロシージャーを EXTERNAL 文またはプロシージャー・インターフェイス・ブロックで宣言することを推奨します。
新しい Fortran 規格では、この言語に新しい組込みプロシージャーが多数追加されました。 FORTRAN 77 などの以前の Fortran 規格に準拠していたプログラムには、新しい Fortran 規格のプロシージャーと同じ名前の非組込み関数またはサブルーチンが含まれている可能性があります。
プロセッサーによっては、プログラム内のプロシージャー名と重複する非標準の組込みプロシージャーを内蔵している可能性があります。
外部プロシージャーを明示的に宣言しなかった場合、その名前が組込みプロシージャー名と重複すると、プロセッサーは、その外部ルーチンではなく、組込みプロシージャーを呼び出します。Fortran コンパイラーが名前の定義を解決する方法に関する詳細は、「Resolving Procedure References」(英語) を参照してください。