我收到了一个咨询任务,在那里我将更新一个Fortran程序到Fortran 77。问题是我从来没有用Fortran编码。你能告诉我在哪里可以学到Fortran,以及Fortran IV和77有什么区别吗?
编辑
要更新的程序正在MODCOMP 9250上运行(参见图片这里),该程序是在原始编译器上开发的。编译器在1990年左右更新为Fortran 77。我的客户端希望对应用程序进行一些修改,并希望借此机会将代码更新为最新的编译器。
发布于 2011-02-07 16:18:03
这似乎是个很奇怪的任务..。在过去的几十年里,教授编程语言的目的是否已经有所改善?如果是这样的话,为什么不翻译成现代语言,比如Fortran 95?
虽然我偶尔会遇到遗留的FORTRAN 77代码,但自从我使用真正的FORTRAN IV已经很长时间了--很难记住其中的区别。我认为最大的改进是IF语句,这样可以更容易地编写更清晰的代码。更改的列表出现在http://en.wikipedia.org/wiki/Fortran
如果您使用的是gfortran,以下选项应该编译一个FORTRAN 77程序:
gfortran -ffixed-form -ffixed-line-length-none -W -Wall -pedantic -o my_prog.exe my_prog.for发布于 2011-02-07 20:08:03
检查两者之间差异的最佳地方是fortran标准草案(最新的草案实际上与已发布的标准相同;只是它们可以免费下载)。
例如,f77标准。
然而,问题是,在fIV标准没有遵循的时候,几乎所有的编译器(我甚至可以肯定地说,所有的编译器都包括各种供应商扩展),其中一些当然也在您的程序中找到。所以,如果你也有编译器手册的话,就拿一本编译器手册吧。
“更新到f77”(Gawd,我从未想过我会说-“更新到f77")的过程对你来说是最好的方式。
( a )在某个地方学习一个fortran的简短教程(很多是在网上);只是为了看看fortran是什么样子的。
一旦你开始识别程序元素和结构,你就可以开始翻译它了。很可能你需要翻译很多类型(取决于)来写或打印,修改一些IF语句,修改一些文件输入/输出操作,你可能还会遇到一些共同之处,你可能或多或少会遇到一些问题,.在任何情况下,试着,当被卡住时,张贴在这里。
你的任务有多大?
附注:正如我在上面的一些评论中所说的,你翻译的程序很可能并不是真正的fIV,而是fIV、f66/77,甚至可能是f90的一些元素--但是你的教授/任务人员并不知道这两者的区别。除非你只是把它从旧的数据磁带上复制出来。我过去经常看到这样的例子。
发布于 2011-02-07 21:37:40
Fortran IV的大部分是有效的Fortran 77。如果您可以找到安装了g77 (旧的GNU 77编译器)的平台,打开标准遵从模式,然后在没有警告或错误的情况下编译,那么您就完成了。如果教授们说这还不够,他需要更具体地说明他想要什么。
我不知道是否有任何Fortran 95编译器有一个选项可以让您检查Fortran 77的遵从性。
https://stackoverflow.com/questions/4920094
复制相似问题