Compiler errors Fortran 77选项更改续行限制时出现问题

Compiler errors Fortran 77选项更改续行限制时出现问题,compiler-errors,fortran,options,fortran77,Compiler Errors,Fortran,Options,Fortran77,我正在做一个项目,试图在新机器上编译旧代码。作为背景,该代码在32位Linux机器上编译,该公司希望它能在64位机器上运行。看来我们使用的编译器是Absolft f77: f77 -v Absoft 64-bit Pro Fortran 11.5.3 ERROR: No input files. 对某些文件要求更严格。具体来说,它不喜欢几个文件中连续行的数量 固定源格式的连续行不允许超过99行 该公司已经通过乏味地更改文件格式来解决这个问题,以适应99行的限制。我的部分责任是让程序在新机器上运

我正在做一个项目,试图在新机器上编译旧代码。作为背景,该代码在32位Linux机器上编译,该公司希望它能在64位机器上运行。看来我们使用的编译器是Absolft f77:

f77 -v
Absoft 64-bit Pro Fortran 11.5.3
ERROR: No input files.
对某些文件要求更严格。具体来说,它不喜欢几个文件中连续行的数量

固定源格式的连续行不允许超过99行

该公司已经通过乏味地更改文件格式来解决这个问题,以适应99行的限制。我的部分责任是让程序在新机器上运行。我可以尝试将许多问题文件压缩下来,但许多人对这种方法感到恼火,因为即使它“有效”,它也会因为其他原因而变得不方便,比如不同变量组、名称的组织、文件版本的比较等等

我是这家公司的新员工,也是Fortran的新手。我对此做了很多研究,但仍然缺少一些关键概念

在我的研究中,我想我找到了一个解决方案,尽管我在实施上有困难。来自oracle:

续行默认最大续行数为99@1初始行和99续行。要更改此行数,请使用-Nln选项@

如果文本没有正确复制,我道歉。我的想法是,如果我在makefile中使用“-N1”选项,它应该允许我指定一些行。到目前为止,我还没有成功;我可能用错了

f77 -N1 100 $(other flags...)
那不是编译器吗?根据甲骨文的建议,我添加了'-n1100'位,尝试了不同的数字,但每次我尝试它时,它仍然说99个连续行是限制。我想我错过了什么。我的猜测是,对于我传递的选项,我完全错了

更新:
根据评论,我认为该选项是'-Nlxx',但该选项仍然不起作用。我想我在参考指南中找到了一些说明99行限制是严格的,尽管其他Absolft f77手册说它可以处理无限行:

这不是答案,但在评论中太长了。比如说你有

 parameter (nmax=20)
 integer mint, ifan
 double precision dat, datasp, oat, zrvs
 common /ahu/dat(nmax), datsp(nmax), oat(nmax), zrvs(nmax),
&            mint(nmax), ifan 
这可以更改为

parameter (nmax=20)
parameter (ixfan = 1, ixmint = 2)
double precision shared
integer mint, ifan
double precision dat(nmax), datasp(nmax), oat(nmax), zrvs(nmax)
common /ahu/ shared(nmax * 4), ishared(nmax + 1)
equivalence (shared(1), dat), (shared(nmax+1), datasp)
equivalence (shared(nmax*2+1), oat), (shared(nmax*3+1, zrvs)
equivalence (ishared(ixfan), ifan), (ishared(ixmint), mint)

公共块可分为两个声明。您可以根据需要使用任意多的参数和等价语句,并且它们不必都被大量的连续体阻塞在一行中。程序的其余部分不需要更改。

查看链接站点,要更改此行数,请使用-Nl n选项,选项不是-Nl 100而不是-N1 100吗?i、 e,el而不是一个?嗯。。。如果是这样的话,我肯定还是用错了。我已经用f77-Nl 100替换了我所有的f77-N1 100呼叫,但仍然没有运气。。。我在两者之间留出了一个空间。我应该吗?也许找到允许更长行的编译器选项会很有用…我想你不知道选项在不同的编译器之间是不兼容的。查看oracle文档是没有用的。你的Absolft编译器没有文档吗?呼叫支持?是的,对不起。我想会有一些细节,但我认为在大多数情况下会有共同的选择。我不太担心较长的行,因为我真的不想重新格式化我的公共块。我读到变量的排列顺序很重要,这意味着我将手动或使用需要编写的脚本对它们进行重新排序。。。。谢谢这是个糟糕的建议:为什么不在同一个公共块上使用多个公共语句呢?哦,我从来都不知道你可以拆分一个公共块-每天学习一些东西。