我经常使用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.
答案 0 :(得分:3)
这不是一个错误。 Fortran标准规定了Fortran处理器如何使“停止代码”“可用”。它建议使用格式化输出到错误单元,但格式(一般意义上)可以是编译器作者认为最好的。