Fortran 编程中相关文件后缀
.a静态库 (archive).f, .for, .FOR
.ftn*, .f90*, .f95*, .f03*">Fortran源代码(不需编译
预处理).F, .fpp, .FPP
.FTN*, .F90*, .F95*, .F03*Fortran源代码(需要编译预处理).rFortran源代码(需要RatFor编译预处理).o对象文件.s汇编语言代码.so动态库
其中,标 * 的后缀名是gfortran的文件后缀,g77不能识别。
单个源文件生成可执行程序
传统的 Fortran 程序(也就是以 Fortran 77 为代表的)只能用大写字符书写,而且每行前六个字符为特定用途所保留。第一列为字符 C 或 * 所保留,用来表征整行都是注释。第二列到第六列是为标号预留的。代码从第七列开始,到72列结束(73列及以后将被直接忽略,可作注释)。下面是示例程序采用的是传统的 Fortran 格式:
C helloworld.f
C
PROGRAM HELLOWORLD
WRITE(*,10)
10 FORMAT('hello, world')
END PROGRAM HELLOWORLD
编译器 gfortran 并不要求所有代码都大写──程序中任何关键词都可以用小写字母。下面的命令将该程序编译成可执行文件:
$ gfortran helloworld.f -o helloworld
注意到:gfortran 默认会将 .f, .for, .fpp, .ftn, .F, .FOR, .FPP 和 .FTN 结尾的文件作为固定格式处理,而将.f90, .f95, .f03, .F90, .F95 和 .F03 结尾的文件作为自由格式来处理。如果我们将上面程序文件重命名为 helloworld.f90,那么我们必须手动指定其为固定格式:
$ mv helloworld.f helloworld.f90
$ gfortran helloworld.f90 -ffixed-form -o helloworld
Fortran 90及以后的标准允许并鼓励用自由的格式书写 Fortran 代码。注释以感叹号(!)开始直到行尾。先前的程序采用自由格式重写如下,其中语句、标号都可从任一列开始:
! helloworldff.f90
!
Program Helloworld
write(*,10)
10 format('hello, world')
end Program Helloworld
后缀名为 .f90,故 gfortran 将其作为自由格式处理
$ gfortran helloworldff.f90 -o helloworldff
同样,如果将程序重命名为传统后缀名,那么要通过在命令行中加入选项 -ffree-form 进行编译,如下:
$ mv helloworldff.f90 helloworldff.for
$ gfortran -ffree-form helloworldff.for -o helloworldff
由于两种格式的具有很大的区别,程序书写是只能选择其中的一种格式进行书写。注意:遵守后缀约定是很重要的。