我们之前在 Fortran 77 中使用 Compaq 编译器编写了一个大型软件包,该编译器假定每个子例程中都有一个 SAVE,因此没有子例程在代码中具有显式 SAVE。
现在我不得不重用和修改它以使其在 Linux 中与 gfortran 一起工作。Gfortran 实际上是一个 f90 编译器,但它只需要一些最小的更改和一些额外的标志。但是,我遇到了缺少 SAVE 语句的问题。有些 COMMON 结构没有保存,有些是,而且它似乎取决于平台(Windows/Linux)和 gfortran 版本。
我已经尝试了标志 -fno-automatic,但一些 COMMON 块仍未保存,正如手册页所说,-fno-automatic 不会影响 COMMON 块。
知道如何使用 gfortran 在每个子例程中强制保存吗?我想避免修改每个子程序。
谢谢你。