命名空间
变体
操作

quick_exit

来自 cppreference.com
< c‎ | program
在头文件 <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++ 文档 for quick_exit