进程退出时,执行相应的清理函数
myatexit.c
#include <stdio.h> #include <stdlib.h> #include <unistd.h> void bye(void) { printf("That was all, folks\n"); } int main(void) { long a; int i; a = sysconf(_SC_ATEXIT_MAX); printf("ATEXIT_MAX = %ld\n", a); i = atexit(bye); if (i != 0) { fprintf(stderr, "cannot set exit function\n"); exit(EXIT_FAILURE); } printf("end of main\n"); exit(EXIT_SUCCESS); }
编译链接执行, 输出如下:
以上输出结果中, atexit()传入的函数最后执行.
原文:http://www.cnblogs.com/zhanglong71/p/5136986.html