首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fortran 95编译器能编译Fortran 77代码吗?

Fortran 95编译器能编译Fortran 77代码吗?
EN

Stack Overflow用户
提问于 2016-06-22 05:22:24
回答 2查看 9.7K关注 0票数 3

目前,我正在使用gfortran6.1在mac上编译fortran95源代码。我想知道我是否可以用同样的方法运行FORTRAN 77源代码。如果没有,有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-22 05:31:27

您没有提到在编译过程中遇到的错误。参见this link。具体地说:

代码语言:javascript
复制
    -std=*std*

其中std可以是‘f95’、‘f2003’、‘f2008’、‘gnu’或‘legacy’中的一个。这个

std的

默认值为‘gnu’。来自同一页面:“旧的”值是等效的,但没有过时扩展的警告,并且可能对旧的非标准程序有用。‘f95’、‘f2003’和‘f2008’值分别指定严格符合Fortran 95、Fortran 2003和Fortran 2008标准;对于超出相关语言标准的所有扩展,都会给出错误;对于在更高标准中允许但已过时的Fortran 77功能,会给出警告。

例如,如果您有一个要编译的文件old_fortran.f77,您可以这样做:

代码语言:javascript
复制
   gfortran -std=legacy old_fortran.f77 -o a.out

其中,-o a.out为您提供可执行文件a.out。在没有使用这个选项的情况下,我已经成功地使用了这个编译器的一个旧版本。不过,您可能会收到一些警告。第一次尝试:

代码语言:javascript
复制
   gfortran old_fortran.f77 -o a.out

编辑:在通过OP查看下面的评论之后,它看起来可能涉及到一个不同的问题。可能是你的安装有问题(这是有可能的)或者你的LD_LIBRARY_PATH搞砸了。我认为您路径中的链接器(ld)是32位的,而编译器创建的目标文件可能是64位的。只是预感而已。你能把下面的输出

代码语言:javascript
复制
  which ld

假设返回: /path/to/ld。然后获取该输出并执行

代码语言:javascript
复制
  file /path/to/ld

你能将这两个命令的输出作为评论发布吗?

票数 4
EN

Stack Overflow用户

发布于 2016-07-22 04:56:03

如果我使用它,它会工作

gfortran old_fortran.f -o a.out

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37954802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档