Fortran固定表格线延续

时间:2017-04-29 00:43:13

标签: fortran fixed-format

我总是使用自由格式.f90来编写Fortran代码,但现在我必须使用一些固定格式的.f代码。据我所知,固定格式的续行可以通过在第6列中放置任意非空白,非零符号来实现。 所以第一个块应该可以工作

      x =
     &    1

并且第二个块将失败

      x = &
     &    1

我通过简单的演示代码证明了上述结论,它们都使用Makefile进行编译并使用Cmake进行编译。如果使用第一种方式,一切都很好;如果第二个,编译器将报告错误,说它无法理解“&”等号后。

现在令我困惑的是,我有一个固定格式(.f)的巨大Fortran代码。这个巨大的代码用于行继续使用的是第二种方式(这对我来说似乎不起作用)。但该代码的Makefile设法以某种方式克服了这个问题。该代码和Makefile是如此庞大和复杂,我无法管理。

所以我的问题是:我如何让编译器通过第二种方式?巨大的Fortran代码有什么神奇之处呢?感谢任何提示。

更新

我尝试按照建议使用-ffree-form,但仍然会遇到相同的错误。这是demo .f文件和Makefile。

main.f

      PROGRAM main


      IMPLICIT NONE
        REAL        ::  x
        REAL        ::  y

        x =  &
     &      1
        WRITE(*,*) x

      END PROGRAM main

生成文件:

FC = gfortran
FCFLAGS = -ffree-form

SRCS = main.f
SOBJ = $(SRCS:.f=.o)
EXEC = $(SRCS:.f=)

all: $(EXEC)

%.o: %.f
    $(FC) $(FCFLAGS) -c $<

0 个答案:

没有答案