//author:DriverMonkey//date:1/24/2013//copyright: no copyright//mail:bookworepeng@hotmail.com//enviromen:Ubuntu#include <iostream>#include <stdlib.h>using namespace std;static void first_atexit(void);static void second_atexit(void);static void third_atexit(void);int main(int argc, char *argv[]){cout<<"main()++"<<endl;if(atexit(first_atexit) != 0)cout<<"first_atexit() register failed"<<endl;if(atexit(second_atexit) != 0)cout<<"first_atexit() register failed"<<endl;if(atexit(third_atexit) != 0)cout<<"first_atexit() register failed"<<endl;cout<<"main()--"<<endl;return 0;}static void first_atexit(void){cout<<"first_atexit() succesfull"<<endl;}static void second_atexit(void){cout<<"second_atexit() succesfull"<<endl;}static void third_atexit(void){cout<<"third_atexit() succesfull"<<endl;}
Terminal output:
Main () ++
Main ()--
Third_atexit () succesfull
Second_atexit () succesfull
First_atexit () succesfull