0

私たちはFortran90で書かれた複雑なプログラムを持っていますが、私はFortran95コンパイラーしか見つけることができませんでした。残念ながら、アクセスと経験は限られていますが、問題についてすぐに洞察する必要があります。

Fortran 90コードは、gfortranなどのFortran 95コンパイラで常に正しくコンパイルされますか?

4

2 に答える 2

10

Fortranバージョンは下位互換性があり、おそらく障害があります。Fortran95標準では、最終的に削除された非常に(当然のことながら)あいまいな構造がいくつかありました。たとえば、このページから:

Fortran 95は、次のFortran90およびFORTRAN77機能が削除されたことを示します。

  • ASSIGNおよび割り当てられたGOTOステートメント
  • PAUSEステートメント
  • O制御変数と実数型の式
  • H編集記述子
  • IFブロックの外部からENDIFステートメントに分岐する

ただし、コードでこれらを使用しない限り(使用しないでください)、F95で問題ないはずです。-std=legacyそれ以外の場合、ほとんどのF95コンパイラには、gfortranなどの古いコードをコンパイルできるモードがあります。

于 2012-10-29T16:19:59.747 に答える
1

IBMを除くFortranコンパイラーは、下位​​互換性があります。したがって、有効なF90コードはすべてF95コンパイラでコンパイルされます。

IBMは別の方法で物事を行い、上位互換性があるようです。したがってxlf、77以降をコンパイルxlf90し、90/95などをコンパイルします。

注意してください、常に強い言葉です。そしてそれは本当にあなたのコンパイラメーカーに依存します。しかし、GNUFortranまたはIntelFortranには、F2003 / 2008のサポートが不十分な場合もありますが、現在、Fortranのすべてのフレーバーに対して1つのコンパイラしかありません。

于 2012-10-29T16:18:57.103 に答える