首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

at_quick_exit

在头文件<stdlib.h>中定义

?

?

int at_quick_exit(void(* func)(void));

?

(自C11以来)

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

从多个线程调用该函数不会导致数据竞争。 实施应支持至少32项功能的注册。

参数

func

-

指向正常程序终止时要调用的函数的指针

返回值

如果注册成功,则返回0;否则为非零值。

代码语言:javascript
复制
#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);
}

输出:

代码语言:javascript
复制
pushed second
pushed first

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.22.4.3 at_quick_exit函数(p:351)

扩展内容

atexit

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

|用于at_quick_exit的 C ++文档|

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com