当前位置: C语言 -- 标准库 -- <stdlib.h> -- at_quick_exit

at_quick_exit函数


概要:
#include <stdlib.h>
int at_quick_exit(void (*func)(void));

描述:

该函数注册quick_exit函数调用时自动调用的函数。

实现最少可以注册32个函数。如果注册多个函数将按注册顺序逆序执行,即后注册的先执行。

如果at_quick_exit函数调用发生在quick_exit函数之后,at_quick_exit函数能否调用成功ISO/IEC 9899:2018标准未作明确说明。

at_quick_exit函数注册不同于atexit函数注册,如果一个函数既要注册atexit函数,又要注册at_quick_exit函数,必须分别注册。


参数:
void (*func)(void)

指向一个无参数、无返回值的函数的指针,指向函数为将注册的函数。


返回值:

如果注册成功,函数返回0;如果注册失败,函数返回一个非0值。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
/*函数at_quick_exit范例*/

#include <stdio.h>
#include <stdlib.h>

void funcOne(void)
{
    puts("function one.");
}

void funcTwo(void)
{
    puts("function two.");
}

int main(void)
{
    at_quick_exit(funcOne);
    at_quick_exit(funcTwo);
    puts("main function.");

    quick_exit(EXIT_SUCCESS);
}


输出:

main function.

function two.

function one.

注:使用Pelles C编译。


相关内容:
atexit 注册exit函数调用时自动调用的函数。