对 Intel Fortran 文件格式的困惑

Confusion about file formats for Intel Fortran files

我正在做一个别人给我的项目。该项目使用 ifort 编译器进行编译,并包含大量以看似自由格式编写的 fortran .FOR 文件。最近,我一直在更详细地研究 Fortran 代码格式,并遇到了 this article,其中指出:

".f90 指定 Fortran 自由格式源,.f、.ftn 或 .for 指定固定格式源"

我不明白为什么以及如果这些 .FOR 文件以自由格式编写,并且如果 ifort 将它们识别为固定格式,它们可以编译正常。任何人都可以请告诉我这个吗?我正在尝试将这个项目迁移到 gfortran,所以我很困惑。此外,我不想将所有内容更改为 .f90 文件,因为我担心这可能会破坏其他内容。

自由形式的源代码可以在具有各种扩展名的文件中存储和编译。如果不是默认扩展名,则必须指示编译器将其视为固定形式。

在 Intel Fortran 中,这样的标志是 -free 或 Windows 等价物 /Qfree。在 gfortran 中是 -ffree-form,所以

gfortran -ffree-form source.for

.for 文件编译为自由格式。