在main函数中使用on_exit/atexit,注册函数,这些函数能在main函数之后执行。
#include <stdlib.h>
int on_exit(void (*function)(int , void *), void *arg);
#include <stdlib.h>
int atexit(void (*function)(void));
例子:
#include <stdlib.h>
#include <stdio.h>
void fn1( void ), fn2( void ), fn3( void ), fn4( void );
int main( void )
{
atexit( fn1 );
atexit( fn2 );
atexit( fn3 );
atexit( fn4 );
printf( "This is executed first./n" );
}
void fn1()
{
printf( "next./n" );
}
void fn2()
{
printf( "executed " );
}
void fn3()
{
printf( "is " );
}
void fn4()
{
printf( "This " );
}
结果:
This is executed first.
This is executed next.