at_quick_exit
在头文件<stdlib.h>中定义 | | |
---|---|---|
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):
- 7.22.4.3 at_quick_exit函数(p:351)
扩展内容
atexit | 注册要在exit()调用(函数)上调用的函数 |
---|
|用于at_quick_exit的 C ++文档|
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com