为什么这3行gfortran代码会抛出分段错误?

为什么这3行gfortran代码会抛出分段错误?,fortran,gfortran,Fortran,Gfortran,这个简单的3行gfortran代码在OPEN语句中生成“程序接收信号SIGSEGV:分段故障-无效内存引用”。我做错了什么 我已经关闭(并重新打开)“运行时检查”编译器开关:-fcheck=all和-fcheck=bounds。这样做没有任何改善。其他编译开关关闭。我还尝试在字符变量的OPEN语句中定义文件名。而且,没有改善。还尝试用双引号替换单引号。没有帮助 PROGRAM INTSFRACM_271 OPEN(7,IOSTAT=IOS,FILE='namlist.int',STATU

这个简单的3行gfortran代码在OPEN语句中生成“程序接收信号SIGSEGV:分段故障-无效内存引用”。我做错了什么

我已经关闭(并重新打开)“运行时检查”编译器开关:-fcheck=all和-fcheck=bounds。这样做没有任何改善。其他编译开关关闭。我还尝试在字符变量的OPEN语句中定义文件名。而且,没有改善。还尝试用双引号替换单引号。没有帮助

  PROGRAM INTSFRACM_271
  OPEN(7,IOSTAT=IOS,FILE='namlist.int',STATUS='OLD')
  END
这就是整个计划


请参见上文。

因此,非常不幸的是,GFortran v5.1.0在
打开时会导致segfault。请尝试更新到v5.2或更高版本。

您使用的是什么版本的GFortran?GNU Fortran(tdm-1)5.1.0哇!非常感谢,克莱顿。我更新到gfortran 8.1,这就解决了它。5.1是默认版本,我相信它与代码块一起分发。讨厌@欢迎来到堆栈溢出。如果你发现这个答案回答了你的问题,那么请选择它作为“被接受的答案”——这是在这里表达感谢的最好方式。