open 语句中 buffered='yes' 处的语法错误

use*_*852 3 fortran fortran90

我正在编写一个 Fortran 程序,其中一行是这样写的

open(unit=un1,file=filenm,form='unformatted',buffered='yes',status='replace',buffercount=127)
Run Code Online (Sandbox Code Playgroud)

我已经定义了

character*256 filenm.
un1=11
Run Code Online (Sandbox Code Playgroud)

但我仍然收到错误

"Syntax error at or near =" in that line..
Run Code Online (Sandbox Code Playgroud)

Vla*_*r F 5

问题在于buffered='yes',它不是标准的 Fortran,而是某些供应商扩展,而您的编译器无法识别它。我只想删除它并删除buffercount=127(评论中提到的)。

现代编译器和操作系统允许通过其他方式控制这些东西(外部 I/O 缓冲)。例如,在gfortran中使用环境变量https://gcc.gnu.org/onlinedocs/gfortran/Runtime.html#Runtime