命名空间
变体
操作

quick_exit

出自 cppreference.cn
< c‎ | 程序
定义于头文件 <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