14

我是 Fortran 的血腥初学者。

我想知道:Fortran 文件的.f.F扩展名有什么区别。我知道很多:f 是免费的,F 是固定的。

免费和固定实际上是什么意思,为什么它们会完全搞砸编译过程?(我正在使用gfortranifort)。

我用谷歌搜索了 f 和 F extension 之间的 fortran 区别。我对结果不满意,这就是我转向 stackoverflow 的原因。

如果您可以建议一个很好的参考来阅读此内容,我将非常乐意这样做。

4

4 回答 4

13

据我所知,.f两者.F都是与 FORTRAN 77 固定格式相关的扩展。固定格式限制为 72 列,其中前六列用于特殊用途。例如&,位置 6 处的 a 表示从前一行延续的行。

自由格式是在 Fortran 90 中引入的,通常用.f90和表示.F90。对于自由格式,您最多可以使用 132 列,并且不存在特殊列。行继续由行尾的 & 符号表示。

文件扩展名中的大写字母通常会打开预处理器。

请注意,这些约定可以被大多数编译器的编译选项覆盖。

于 2013-11-02T15:39:59.773 回答
6

这取决于编译器,可能不应该依赖。通常大写的后缀表示应该使用预处理。自由格式和固定格式之间的区别通常由.f90(自由)与.f(固定)来区分。

由于这取决于编译器,因此一个好的文档将是您的编译器之一。如果您碰巧使用 gfortran,您可能会查看它的选项preprocessing部分。

于 2013-11-02T15:42:51.280 回答
1

在 gfortran 中,自由格式(第 7、72 列没有特殊含义)由编译器开关 -ffree-form 设置,与.f.F文件后缀无关。.f 和 .F 之间的区别在于后者经过预处理器,其最常见的用途是允许类似 C 的 #define 语句。例如:

#define MAXN 100
program example
integer N(MAXN)
end

如果它是.F将编译,但如果它是.f则不会

于 2017-11-03T05:44:45.260 回答
-1

大写的 F 表示应该使用类似 C 的编译器。

http://fortranwiki.org/fortran/show/File+extensions

于 2018-07-18T13:42:31.767 回答