atexit函数
概要:
#include
int atexit(void (*func)(void));
描述:
该函数注册exit函数调用时自动调用的函数。
实现最少可以注册32个函数。如果注册多个函数,将按注册顺序逆序调用,即后注册的先调用。
如果atexit函数调用发生在exit函数之后,atexit函数能否调用成功ISO/IEC 9899:2018标准未作明确说明。
atexit函数注册不同于at_quick_exit函数注册,如果一个函数既要注册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
/*函数atexit范例*/
#include
#include
void funcOne(void)
{
puts("function one.");
}
void funcTwo(void)
{
puts("function two.");
}
int main(void)
{
atexit(funcOne);
atexit(funcTwo);
puts("main function.");
exit(EXIT_SUCCESS);
}
输出:
main function.
function two.
function one.
相关内容:
at_quick_exit
注册quick_exit函数调用时自动调用的函数。