我可以在一个项目中使用 f90 和 for 之间的不同行长吗?

Can I use different line length between f90 and for in one project?

我正在尝试使用 gFortran 合并两个 Fortran 项目。但是一个项目是使用自由形式的 f90 编写的,另一个项目是使用 .for 和固定 132 行长度形式编写的。我可以在一个项目中根据Fortran文件类型设置不同的行长吗?

-fixed-line-length-132 for .for -ffree-line-length-none for .f90

谢谢

是的,你可以。我不确定所以我就继续尝试了。

 gfortran -ffixed-line-length-1000 -ffree-line-length-1000 longline.for longline.f90

编译了两个行很长的文件没有任何问题。

前者的 132 和后者的 none 也是如此,但是当我超过 132 个固定格式文件时它正确地抱怨了。

无论如何,请注意您始终可以在单独的步骤中编译文件并在每个步骤中使用不同的标志:

     gfortran -ffixed-line-length-132 longline.for -o longline-fixed.o
     gfortran -ffree-line-length-1000  longline-fixed.o longline.f90

对于大型项目,通常使用一些构建系统自动将编译组织到这些步骤中(make、CMake、SConstruct、FoBiS.py、...)。