我正在尝试用 pgf90 或 pgfortran(可以处理各种源文件,即 f90 或 f77)编译一个用 fortran 77 构造(即具有 .f 扩展名)编写的文件。我的问题是续行。
open(10,file='/home/adaba/original/potentialenergy/vorticity/data/run/fort.10')
所以这条线显然超出了第 72 列。这是我尝试过的。我尝试通过在新行的第 6 列使用“&”字符将其分成两行并编译它。它编译得很好,但是当我运行程序时,我得到一个错误,说没有找到这样的文件,因为它将行继续解释为 run 和 fort.10 之间的额外空间,并报告找不到文件。
因此,我将代码保留在一行中,然后添加了 -Mextend,这是用于行扩展的 pgi 特定指令。现在它似乎在子例程中很晚的时候在另一个文件名的末尾添加了一些奇怪的字符。它确实正确打开了 fort.10,但它无法在代码中稍后打开另一个文件,并在该文件的末尾添加了一些奇怪的字符(以二进制形式)。在我的编辑器 Emacs 中,我只能在 fort.10 语句之后看到紫色(表明某些事情不正确)。
有 pgi fortran 经验的人可以帮忙吗?
更新
open(10,file='/home/adabas/originalPV/potentialenergy/vorticity/' // &
& 'data/run/fort.10')
我在 & 处或附近收到 pgf90-s-0034 语法错误(在上线)
pgf 版本是 17.0.4 64 位