OPEN语句中的Fortran语法错误

OPEN语句中的Fortran语法错误,fortran,gfortran,Fortran,Gfortran,我无法找出以下Fortran OPEN语句的错误: filename = 'state_save.txt' OPEN(FILE=TRIM(dir)//TRIM(filename),UNIT=ffunit,STATUS='old',FORM='formatted', IOSTAT=ios, readonly) [为了清晰起见,我添加了CR] 根据gfortran(来自gcc-4.8.1)编译,以上给出了以下错误: (dir)//TRIM(filename),UNI

我无法找出以下Fortran OPEN语句的错误:

filename = 'state_save.txt'                
OPEN(FILE=TRIM(dir)//TRIM(filename),UNIT=ffunit,STATUS='old',FORM='formatted',
IOSTAT=ios, readonly)
[为了清晰起见,我添加了CR]

根据gfortran(来自gcc-4.8.1)编译,以上给出了以下错误:

(dir)//TRIM(filename),UNIT=ffunit,STATUS='old',FORM='formatted',IOSTAT=ios, rea
                                                                           1
Error: Syntax error in OPEN statement at (1)
代码可以通过
ifort
编译为OK(但我没有ifort)


有人能解释一下哪里出了问题,以及如何以符合标准的方式编写语句吗?

用于
OPEN()
READONLY
关键字不是Fortran标准的一部分。尽管几乎所有的商业编译器都支持它,但gfortran似乎并不支持它。但是现在,您可以使用
action='read'
获得相同的结果,这是语言标准支持的(而且似乎对我也适用)。

理论上,gFortran应该能够通过“-fdec”etc开关支持这种扩展,但这里讨论了一些“问题”()