#include <stdio.h>
#include <stdlib.h>
static void my_exit1(void);
static void my_exit2(void);
int main(void)
{
if(atexit(my_exit2) != 0 )
printf( "my_ext2 register failured!\n" );
if(atexit(my_exit1) != 0 )
printf("my_exit1 register failured!\n");
if(atexit(my_exit1) != 0)
printf("my_exit1 register failured!\n");
printf("main is done \n");
exit(0);
}
static void my_exit1(void)
{
printf("first exit handler\n");
}
static void my_exit2(void)
{
printf("second exit handler\n");
}
执行该程序产生:
wangkai@ubuntu:~/Test$ ./a.out
main is done
first exit handler
first exit handler
second exit handler
wangkai@ubuntu:~/Test$