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