天天看點

atexit函數

在C/C++程式中,main函數結束,會有一個步驟去調用 atexit 注冊的函數

#include<cstdio>
#include<cstdlib>

void func1()
{
    printf("The process is done...\n");
}
void func2()
{
    printf("Clean up the processing\n");
}
void func3()
{
    printf("Exit sucessful..\n");
}

int main(){
    atexit(func1);
    atexit(func2);
    atexit(func3);
    exit(0);
}      

1、atexit函數調用執行順序與注冊程式相反,可以了解為注冊函數是放到一個棧中,調用的時候彈出

2、atexit 函數的原型 

int atexit(void (*func)(void))