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.