atexit功能的目的是什么?

时间:2011-04-13 15:11:16

标签: unix

我知道函数的地址何时传递给atexit函数,
该功能已被执行。

#include <stdlib.h>
int atexit(void (*func) void));

但是,使用atexit函数的目的是什么?

口头意义本身“退出”是否与atexit功能有关?

3 个答案:

答案 0 :(得分:2)

atexit将用于您在应用程序终止时要执行的某些代码,无论它从何处退出。一个例子是应用程序范围的记录器。您可以调用atexit(flush_log),因此当应用程序退出时,日志将被刷新,而开发人员不必记住将其刷新。

答案 1 :(得分:0)

是的,atexitexit相关。

exit可以调用在程序退出之前自动调用的函数。这些函数称为退出处理程序,并通过调用atexit函数进行注册。

#include<stdio.h>                 

main(void) {                        
atexit(func);
}

func(void) 
{
    ...
}

答案 2 :(得分:0)

#include<stdlib.h>
int atexit(void (*func)(void));

上述声明说我们将函数的地址作为参数传递给atexit。调用此函数时,它不会传递任何参数,也不会返回值。 exit函数按照注册的相反顺序调用这些函数。每个函数在注册时被调用多次。