Compiler errors 在mac上编译fortran文件时出错

Compiler errors 在mac上编译fortran文件时出错,compiler-errors,fortran,Compiler Errors,Fortran,不是超级mac用户,也从未使用过fortran,所以请容忍我。我试图使用gfortran编译一个文件,但从以下行中得到一个错误: open(unit=4,file=*,status='old',READONLY,iostat=iopen, & err=9999) 如果删除只读部分,错误将持续存在: 错误:在(1)处的OPEN语句中出现语法错误 有什么办法可以让它工作吗?在编译器看到语法错误的行中,应该有一个1标记。如果1位于逗号下方,则错误出现在下一条语句中(例如,如果unit=

不是超级mac用户,也从未使用过fortran,所以请容忍我。我试图使用gfortran编译一个文件,但从以下行中得到一个错误:

open(unit=4,file=*,status='old',READONLY,iostat=iopen,
 &   err=9999)
如果删除只读部分,错误将持续存在:

错误:在(1)处的OPEN语句中出现语法错误


有什么办法可以让它工作吗?

在编译器看到语法错误的行中,应该有一个
1
标记。如果
1
位于逗号下方,则错误出现在下一条语句中(例如,如果
unit=4
之后位于逗号下方,则错误出现在
文件=*
中)

这里有几件事:

  • unit=4
    我从不使用单位数字,因为这些数字可能是为标准输入/输出或错误输出之类的事情保留的
  • file=*
    那个很奇怪。我认为不能在标准Fortran中使用通配符,请尝试将其指向此处的特定文件
  • READONLY
    这毫无意义。我假设您需要的是
    action='read'
    ,但是一旦您开始使用
    something=someval
    传递参数,您就不能返回到只传递一些值,并希望编译器找出实际要表示的伪变量
  • err=9999
    这是一个隐含的
    GOTO
    :出现错误时,转到此标签。强烈反对使用它。既然您使用的是
    iostat
    ,我建议您检查返回值
  • 根据输入文件是什么,或者在打开文件出错时程序实际应该如何运行,您可以决定如何使该代码与Fortran兼容