从Watcom Fortran迁移到gfortran并且不理解此错误

时间:2017-10-21 00:57:11

标签: fortran gfortran

我正在尝试将工作代码从Watcom Fortran迁移到gfortran。我有一个公开声明:

  OPEN (UNIT    = oufile,
 *      FILE    = OUPATH,
 *      ACTION  = 'WRITE',
 *      ACCESS  = 'SEQUENTIAL',
 *      STATUS  = 'UNKNOWN',
 *      CARRIAGECONTROL = 'YES',
 *      BLOCKSIZE = 80,
 *      FORM    = 'FORMATTED',
 *      IOSTAT  = OPERR,
 *      ERR     = 400)

是的,那就是F77风格。这件事是恐龙。 *是连续字符。当我用gfortran编译并得到这个错误时:

      *      STATUS  = 'UNKNOWN',
                                1
Error: Syntax error in OPEN statement at (1)
.f(158,32): error : Syntax error in OPEN statement.

我很难理解为什么它会对逗号进行抨击。我感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

CARRIAGECONTROL不是OPEN的标准关键字,也不是BLOCKSIZE。首先删除这两个,然后看看你得到了什么。然后阅读gfortran文档,看看是否有合适的替代品。 BLOCKSIZE你可能没有 - 我不确定,gaffran如何处理传统的Fortran运输控制(特别是因为这是一个删除的功能。)