C 编程/stdlib.h/atexit
外观
	
	
atexit(在退出时)是一个 C 编程语言中的函数,用于注册给定的函数,以便在正常进程终止时执行,无论是通过 exit 还是通过从程序的 main 函数返回。
atexit 函数以要注册的回调函数的引用作为参数。这样注册的函数按注册顺序的相反顺序调用;不传递任何参数。
atexit 函数由 POSIX 规范标准化。
函数原型如下
int atexit(void (*function)(void));
如果函数成功完成执行,它将返回零 (0)。非零返回值表示错误。
POSIX 要求 atexit 的实现至少允许注册 ATEXIT_MAX (32) 个此类函数。
以下示例演示了 atexit 函数的使用。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void end(void) {
        printf("[ DONE ]\n");
}
int main(){
        long ret;
        ret = sysconf(_SC_ATEXIT_MAX);
        printf("ATEXIT_MAX = %ld\n", ret);
        if( atexit(end) != 0 ) {
                perror("Unable to set exit function\n");
                return EXIT_FAILURE;
        }
        printf( "About to quit... " );
        return EXIT_SUCCESS;
}
ISO/IEC 9899:1999 规范 (PDF). p. 315, § 7.20.4.2.