在Fortran中,是否需要在标准输出中打印“STOP”?

时间:2013-04-17 10:04:26

标签: fortran gfortran

我经常使用Fortran中的stop内在函数来阻止执行(主要是在测试失败后)。

program test1
    stop
end program

除了停止程序执行外什么都不做。

program test2
    stop 'hello'
end program

在标准输出中打印:

  

STOP hello

我之前从未注意过这种行为。在输出中“你好”之前是否预期这个“停止”?或者它是编译器错误还是......?

我的编译器是gfortran --version

GNU Fortran (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
Copyright (C) 2012 Free Software Foundation, Inc.

1 个答案:

答案 0 :(得分:3)

这不是一个错误。 Fortran标准规定了Fortran处理器如何使“停止代码”“可用”。它建议使用格式化输出到错误单元,但格式(一般意义上)可以是编译器作者认为最好的。