at_quick_exit

来自cppreference.com
< c‎ | program
定义于头文件 <stdlib.h>
int at_quick_exit( void (*func)(void) );
(C11 起)

注册 func 所指向的函数,使它在程序快速终止(通过 quick_exit )时得到调用。

at_quick_exit 是线程安全的:从多个线程调用此函数不会导入数据竞争。实现应当支持注册至少 32 个函数。

参数

func - 指向要在程序快速终止调用的函数的指针

返回值

若注册成功则为 0 ,否则为非零值。

示例

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

输出:

pushed second
pushed first

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.22.4.3 The at_quick_exit function (p: 351)

参阅

注册一个要在调用 exit() 时调用的函数
(函数)