at_quick_exit

at_quick_exit

在头文件中定义
int at_quick_exit(void(* func)(void));(自C11以来)

注册由func指向的函数,在快速程序终止时(通过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标准(ISO / IEC 9899:2011):

扩展内容

atexit注册要在exit()调用(函数)上调用的函数

|用于at_quick_exit的 C ++文档|