//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