15

私は Fortran コードを持っていますが、それが '77、'90、または '95 のどの標準なのかわかりません。対象となる標準を特定するための標準ツールはありますか?

4

3 に答える 3

27

おそらく自動化されたツールがありますが、私の方法は主にヒューリスティックです。

  • コメントは!、行のどこか (F90+) またはC最初の列 (F77) で使用しますか?
  • ループはdo.. end do(F90+) またはdo.. continue(F77) を使用しますか?
  • &行末 (F90+) または 6 桁目 (f77) で行を継続しますか?
  • コードはmoduleortype構造体 (F90) を使用していますか?
  • コードが配列を使用している場合、それらを単一の構造体として操作するか (F90)、または常にループを使用するか (F77)?
  • 動的メモリ (使用allocatableまたはpointerメソッドのいずれか) が使用されていますか (F90)?

一般に、これらは F90 と F77 を区別するのに十分です。Fortran 90 と FORTRAN 77 の違いは、Fortran 90 と Fortran 95 の違いよりもはるかに大きいため、通常はここで終了します。

于 2008-12-24T18:07:40.980 に答える
3

fortran 2003 と 2008 に機能を追加しています (これは頭の片隅にあります)。

プログラムがパラメーター化された派生データ型を持っている場合 (fortran 2003.) 配列コンストラクターが (/ /) の代わりに角括弧 [ ] を使用している場合 (fortran 2003.)

多くのコンパイラは拡張機能の一部として特別な関数 (ベッセル関数など) を持っていますが、これは真の fortran 2008 機能です。

(矛盾があれば編集します)

于 2011-10-04T00:57:24.460 に答える
3

GNU Fortran (gfortran) にアクセスできる場合は、さまざまなオプションを使用してコンパイルし、どれが機能する--stdかを確認できます。方言オプションの詳細については、こちらを参照してください。

于 2008-12-24T17:52:00.873 に答える