fra*_*lus 15
exit在Fortran中是一个语句,它终止循环或完成其他结构的执行.但是,问题显然是非标准扩展,作为函数或子例程,由许多编译器提供,与stop语句密切相关.
例如,gfortran提供了这样的东西.
由于这种使用exit是非标准的,因此您应该参考特定实现的文档,了解它采用何种形式以及它具有哪些效果.
stop另一方面,该声明是标准的Fortran声明.该语句启动Fortran程序执行的正常终止(并且可以与error stop启动错误终止的语句进行比较).
除了知道程序的终止(正常)执行遵循stop语句并且存在停止代码之外,实际发生的实际方式再次对实现保持开放.关于会发生什么,有一些建议(但这些只是建议).例如,在Fortran 2008中建议使用
上述内容相当模糊,因为在许多情况下,上述概念不适用.
通常在实践中,exit将类似于C库的该名称的功能,其效果将像stop没有停止代码(但仍然将给定状态传递回OS).
总之,Fortran没有描述stop和之间的区别exit.的使用exit(终止)是不可移植和连效果stop并不完全限定.
stop是一个fortran语句,但它exit是一个恰好终止程序的函数.
该stop语句将其参数[也可以是一个字符串]输出到stderr
stop 123
Run Code Online (Sandbox Code Playgroud)
它将向父进程返回零状态.
虽然exit是一个函数,但必须像其他函数一样调用.它也将是沉默的(即没有消息):
call exit(123)
Run Code Online (Sandbox Code Playgroud)
并且exit的参数将作为status返回给父进程