现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

让软件在退出的时候自动执行函数 — atexit()

2012-11-27 00:18 工业·编程 ⁄ 共 596字 ⁄ 字号 暂无评论

atexit()用于注册一个函数,告诉操作系统在
在软件退出的时候, 执行这个被注册的函数.

注册的函数原型是 void fn(void) , 即没有输入参数,没有返回值.

* ATEXIT.C: This program pushes four functions onto
* the stack of functions to be executed when atexit
* is called. When the program exits, these programs
* are executed on a "last in, first out" basis.
*/

#include <stdlib.h>
#include <stdio.h>

void fn1( void ), fn2( void ), fn3( void ), fn4( void );

void 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 " );
}

Output

This is executed first.
This is executed next.

给我留言

留言无头像?