Namespaces
Variants

quick_exit

From cppreference.net
定义于头文件 <stdlib.h>
_Noreturn void quick_exit ( int exit_code ) ;
(C11 起)
(C23 前)
[ [ noreturn ] ] void quick_exit ( int exit_code ) ;
(C23 起)

导致程序正常终止而不完全清理资源。

传递给 at_quick_exit 的函数按其注册的逆序被调用。在调用完注册函数后,将执行 _Exit ( exit_code )

传递给 atexit 的函数或传递给 signal 的信号处理程序不会被调用。

目录

参数

exit_code - 程序的退出状态

返回值

(无)

示例

#include <stdlib.h>
#include <stdio.h>
void f1(void)
{
    puts("pushed first");
    fflush(stdout);
}
void f2(void)
{
    puts("pushed second");
}
void f3(void)
{
    puts("won't be called");
}
int main(void)
{
    at_quick_exit(f1);
    at_quick_exit(f2);
    atexit(f3);
    quick_exit(0);
}

输出:

pushed second
pushed first

参考文献

  • C17 标准 (ISO/IEC 9899:2018):
  • 7.22.4.7 quick_exit 函数 (p: 257)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.22.4.7 quick_exit 函数 (p: 353)

参见

导致程序异常终止(不进行清理操作)
(函数)
注册在调用 exit() 时要执行的函数
(函数)
注册在调用 quick_exit 时要执行的函数
(函数)
C++ 文档 关于 quick_exit