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

这令人困惑。-Wall而且 gfortran 即使有标志也不会抱怨。

我怎样才能防止这种情况再次发生?

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文件并突出显示所有变量Keywords,并intrinsic procedure与其他变量的名称不同

于 2020-12-10T09:42:41.510 回答