Fortran:令人困惑的变量命名

时间:2013-07-07 00:42:32

标签: variables fortran

如何知道我的变量名是否确实存在 内在程序的名称?

以下是程序示例:

program test1

implicit none

    integer :: i, dim

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

end program test1

。但后来我发现“昏暗”实际上是一个功能:

program test2

implicit none

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

end program test2

。这令人困惑。而gfortran甚至没有抱怨 “-Wall”标志。

如何防止再次发生这种情况?

3 个答案:

答案 0 :(得分:1)

为了避免将来这种情况,您可以查看FORTRAN中的关键字列表。也许让自己更熟悉一些。 Here是一个基本完整的列表。我不熟悉任何可以帮助你的编译器标志。

编辑,也看到对此答案的第一个评论

答案 1 :(得分:0)

据我所知,任何Fortran编译器都没有这样的编译器标志,因为这符合标准。除非事情发生变化,否则Fortran没有任何保留字。因此,完全允许使用名为REAL的INTEGER变量和名为ENDDO的DOUBLE PRECISION变量。

答案 2 :(得分:0)

我认为您可以编辑~/.vimrc文件并突出显示所有Keywordsintrinsic procedure以与其他变量的名称不同