atexit函数:
atexit函数是一个特殊的函数,它是在正常程序退出时调用的函数,我们把他叫为登记函数
(函数原型:int atexit (void (*)(void)))
一个进程可以登记若32个函数,这些函数由exit自动调用,这些函数被称为终止处理函数,atexit函数可以登记这些函数。exit调用终止处理函数的顺序和atexit登记的顺序相反,如果一个函数被多次登记,也会被多次调用。
验证:
#include <stdio.h>
#include <stdlib.h>
void test1()
{
printf ("hello test1\n")
}
void test2()
{
printf ("hello test2\n")
}
int main()
{
atexit(test1);
atexit(text2);
sleep(5);
printf ("hello main!\n");
exit(2);
return 0;
}
结果:
hello main
hello test2
hello test1