1

変数名が実際に組み込み手続きの名前であるかどうかを知るにはどうすればよいですか?

プログラムの例を次に示します。

program test1

implicit none

    integer :: i, dim

    dim = 3
    do i = 1, dim
        write(*, *) "dimension", i
    end do

end program test1

dimしかし、それが実際には関数であることを発見しました:

program test2

implicit none

    write(*, *) dim(3, 1)

end program test2

これは紛らわしいです。そして、gfortran はフラグを付けても文句を言いません-Wall

それが再び起こらないようにするにはどうすればよいですか?

4

3 に答える 3

1

今後これを回避するには、FORTRAN のキーワードのリストを確認してください。たぶん、それらのいくつかにもっと慣れてください。それらのほぼ完全なリストを次に示しますただし、役立つコンパイラフラグについてはよく知りません。

編集、この回答の最初のコメントも参照してください

于 2013-07-07T00:58:59.097 に答える
0

私の知る限り、これは標準の範囲内であるため、どの Fortran コンパイラにもそのようなコンパイラ フラグはありません。状況が変わらない限り、Fortran には予約語がありません。したがって、REAL という名前の INTEGER 変数と ENDDO という名前の DOUBLE PRECISION 変数を持つことは完全に許容されます。

于 2013-07-15T17:24:45.597 に答える
0

~/.vimrcファイルを編集してすべてを強調表示し、他の変数の名前Keywordsintrinsic procedureは異なるようにできると思います

于 2020-12-10T09:42:41.510 に答える