Home C&C++函数库 c++ 语法 程序源码 Linux C库

quick_exit

函数   <cstdlib>

C11 _Noreturn void quick_exit (int status);
C++11 noreturn void quick_exit (int status) noexcept;


快速终止调用的进程

在调用所有使用at_quick_exit注册的函数后,将控制权返回给宿主环境,从而正常终止进程。

不执行额外的清理任务:
不调用对象析构函数。对于C 流 是否被关闭和/或刷新,以及使用tmpfile打开的文件是否被删除,取决于特定的系统或库实现。

如果status为0或EXIT_SUCCESS,则返回主机环境成功终止状态。
如果status为EXIT_FAILURE,则返回主机环境一个不成功的终止状态。
否则,返回的状态取决于系统和库实现.

如果一个程序同时调用exit和quick_exit,或者多次调用quick_exit,它将导致未定义的行为。

☲  参数



status
状态码。
如果该值为0或EXIT_SUCCESS,表示成功。
EXIT_FAILURE表示失败。

☉  返回值



None(函数永不返回)。

☣  示例



/* quick_exit example */
#include <stdio.h>      /* puts */
#include <stdlib.h>     /* at_quick_exit, quick_exit, EXIT_SUCCESS */

void fnQExit (void)
{
  puts ("Quick exit function.");
}

int main ()
{
  at_quick_exit (fnQExit);
  puts ("Main function: Beginning");
  quick_exit (EXIT_SUCCESS);
  puts ("Main function: End");  // never executed
  return 0;
}


输出:

Main function: Beginning
Quick exit function.

↭  数据竞争



同时多次调用该函数没有效果。

at_quick_exit的调用如果在调用该函数之前没有完成,可能不会成功(取决于特定的库实现).

❆  异常(c++)



无抛出保证:此函数从不抛出异常。

如果在at_quick_exit中注册的任何函数抛出异常,将自动调用terminate。

🍄  另请参阅



abort 中止当前进程(function)
atexit 设置退出时要执行的函数(function)
at_quick_exit 设置快速退出时要执行的函数(function)
exit 终止调用进程(function)

联系我们 免责声明 关于CandCplus 网站地图