适当的 Fortran 编译器来执行程序
Proper Fortran compiler to execute a program
我对 Fortran 语言知之甚少。我遇到过一些 90 年代编写的程序(请参阅仅显示长脚本的一部分的附加快照)。
我想知道什么样的编译器适合执行这样的代码?我已经在 mac 上安装了 gfortran-4.2.3。我也不确定附加代码中的缩进:如果 C(注释)位于第 1 列,那么主要代码是从第 9 列还是第 7 列开始? GO TO?
所引用的数字之间的位置如何?
这不是 Fortran 90。这是 Fortran 77。
也就是说,gfortran
能够编译这段代码。确保文件的文件扩展名为 .f
,以便 gfortran
意识到它是固定格式的。
C
需要在第一列,你引用的数字是标签,它们可以在第1列和第5列之间。第198行的星号是一个连续字符,意味着这应该被视为上一行的一部分。它必须在第 6 列中。其他所有内容都需要在第 7 列和第 72 列之间(含)
哦,还有最开始的3位数字是行号,一定不能在源代码里
编辑补充:由于无论如何你都必须重新输入,所以你不妨将其设为自由格式:
将第一列中的C
替换为!
,并更改连续行的标记方式:将此:
write (*, *) "This is some long text,
* which doesn't fit into a line"
进入这个:
write(*, *) "This is some long text, " // &
"which doesn't fit into a line"
其他一切都可以保持原样。 (您现在也可以使用适当的缩进!)
新编辑
所以您已经粘贴了您编写的代码和错误消息,所以我现在回复它。
在固定格式中,第 72 列之后的任何字符都将被忽略。您有几行长字符串,其中终止引号位于被忽略的区域中。
确保没有一行超过第 72 行。
我对 Fortran 语言知之甚少。我遇到过一些 90 年代编写的程序(请参阅仅显示长脚本的一部分的附加快照)。
我想知道什么样的编译器适合执行这样的代码?我已经在 mac 上安装了 gfortran-4.2.3。我也不确定附加代码中的缩进:如果 C(注释)位于第 1 列,那么主要代码是从第 9 列还是第 7 列开始? GO TO?
所引用的数字之间的位置如何?这不是 Fortran 90。这是 Fortran 77。
也就是说,gfortran
能够编译这段代码。确保文件的文件扩展名为 .f
,以便 gfortran
意识到它是固定格式的。
C
需要在第一列,你引用的数字是标签,它们可以在第1列和第5列之间。第198行的星号是一个连续字符,意味着这应该被视为上一行的一部分。它必须在第 6 列中。其他所有内容都需要在第 7 列和第 72 列之间(含)
哦,还有最开始的3位数字是行号,一定不能在源代码里
编辑补充:由于无论如何你都必须重新输入,所以你不妨将其设为自由格式:
将第一列中的C
替换为!
,并更改连续行的标记方式:将此:
write (*, *) "This is some long text,
* which doesn't fit into a line"
进入这个:
write(*, *) "This is some long text, " // &
"which doesn't fit into a line"
其他一切都可以保持原样。 (您现在也可以使用适当的缩进!)
新编辑
所以您已经粘贴了您编写的代码和错误消息,所以我现在回复它。
在固定格式中,第 72 列之后的任何字符都将被忽略。您有几行长字符串,其中终止引号位于被忽略的区域中。
确保没有一行超过第 72 行。