对 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
文件编译为自由格式。
我正在做一个别人给我的项目。该项目使用 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
文件编译为自由格式。