加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在现代编译器中编译狡猾的Fortran 77代码

发布时间:2020-12-13 22:53:47 所属栏目:Linux 来源:网络整理
导读:我正在尝试编译一个用Fortran 77编写的软件.我应该指出我对Fortran一点都不了解,而且我真的不想开始修改这个软件的代码 – 特别是因为我不确定该软件的许可是什么,我不知道我是否能够重新分发我的修改版本. 代码在OS X和Windows上使用g77编译器进行编译,该编
我正在尝试编译一个用Fortran 77编写的软件.我应该指出我对Fortran一点都不了解,而且我真的不想开始修改这个软件的代码 – 特别是因为我不确定该软件的许可是什么,我不知道我是否能够重新分发我的修改版本.

代码在OS X和Windows上使用g77编译器进行编译,该编译器(相当容易)可用于这些系统.但是,我无法让它在我的Ubuntu发行版上运行,因为我似乎无法再为Ubuntu获取g77,如果我尝试安装它的旧版本,它似乎搞砸了我的整个GCC安装.我已经尝试用gfortran和g95编译代码,但它不适用于:

>代码使用实变量作为循环索引(是的,我知道,坏主意). g95使用-freal-loops选项支持此功能,但gfortran不支持.
>代码使用实变量来索引数组,gfortran将支持(带警告),但g95不支持.

任何人都可以使用现代且易于使用的编译器(如g95或gfortran)建议使用这两个“狡猾”功能编译此代码的方法吗?

解决方法

将参数-std = legacy传递给gfortran.在F95中删除的功能(如实际循环和数组索引)应在传统模式下编译(可能带有警告).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读