使用gfortran强制每个子程序中的SAVE

时间:2013-05-23 15:29:03

标签: fortran fortran77

我们之前在Fortran 77中使用Compaq编译器编写了一个很大的软件包,该编译器假定每个子例程都有SAVE,因此没有子例程在代码中有明确的SAVE。

现在我必须重新使用并修改它以使其在使用gfortran的Linux中运行。 Gfortran实际上是一个f90编译器,但它只使用了一些最小的更改和一些额外的标志。但是我遇到了缺少SAVE语句的问题。一些COMMON结构不是SAVEd,有些是,它似乎依赖于平台(Windows / Linux)和gfortran版本。

我已经尝试了标志-fno-automatic,但是一些COMMON块仍未保存,正如手册页所述,-fno-automatic不会影响COMMON块。

任何想法如何使用gfortran在每个子程序中强制SAVE?我想避免修改每个子程序。

谢谢。

2 个答案:

答案 0 :(得分:0)

尝试编译选项-fno-automatic

答案 1 :(得分:0)

您可能必须使用-fno-automatic编译器选项和带有所有已命名公共块名称的save语句。见"Saving" a common block

相关问题