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()时被调用
(函数) [edit]
at_quick_exitC++文档