我正在尝试在新计算机上编译旧代码的项目。作为背景,代码在32位Linux机器上编译,公司希望它能在64位机器上工作。看来我们正在使用的编译器(Absoft f77:使用Fortran 77选项更改连续行限制的问题
f77 -v
Absoft 64-bit Pro Fortran 11.5.3
ERROR: No input files.
)对一些文件更加严格。具体而言,它不喜欢几个文件中的连续行数。
超过99个固定源代码的连续行是不允许的。
该公司已通过繁琐地更改文件格式来尝试适应99行限制来解决此问题。我负责的部分工作是让程序在新机器上运行。我可以尝试压缩很多问题文件,但许多人对此感到恼火,因为即使“有效”,但由于其他原因(变量组的不同组,名称,比较版本的文件,等等)
我是新来的公司,是Fortran的新手。我已经研究了一堆,但我仍然缺少一些关键概念。
在我的研究中,我想我找到了一个解决方案,尽管我在实施时遇到了麻烦。从Oracle:
续行的连续行的默认最大数量为99 @(1初始和99继续)。要更改这些行数,请使用-Nln选项。 @ https://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vn6l/index.html
如果文本没有正确复制,我很抱歉。我在想,如果我在makefile中使用'-N1'选项,它应该让我指定一些行。到目前为止,我还没有成功;我可能使用不正确。
f77 -N1 100 $(other flags...)
是不是编译器?从Oracle的建议中,我添加了'-N1 100',尝试了不同的数字,但是任何时候我尝试它,仍然会说99个连续线是极限。我想我错过了一些东西。我的猜测是,我完全错了我通过的选项。
更新: 每个评论,我认为选项是'-Nlxx',但该选项仍然无法正常工作。我想我发现了一些说99行限制在参考指南中是严格的,尽管其他Absoft f77手册说它可以处理无限制的行。 :(
L在链接的网站上点击“改变这一行数,使用-Nl选项”,不是选项“-N100”而不是“-N1 100”? (即,“el”而不是“one”?) – roygvib
嗯......如果是这样的话,我一定还会错误地使用它。我已经用“f77-N1 100”取代了我所有的“f77 -N1 100”电话,但仍然没有运气......我正在放置一个空间。我可以做? – ryanrr
也许找到编译器选项允许更长的行将是有用的... – agentp