首页 > 试题广场 >

main 主函数执行完毕后,是否可能会再执行一段代码,给出说

[问答题]
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明?
推荐
答案:可以,可以用_onexit 注册一个函数,它会在main 之后执行int fn1(void), fn2(void), fn3(void), fn4 (void);
void main( void )

  {

  String str("zhanglin");

  _onexit( fn1 );

  _onexit( fn2 );

  _onexit( fn3 );

  _onexit( fn4 );

  printf( "This is executed first.\n" );

  }

  int fn1()

  {

  printf( "next.\n" );

  return 0;

  }

  int fn2()

  {

  printf( "executed " );

  return 0;

  }

  int fn3()

  {

  printf( "is " );

  return 0;

  }

  int fn4()

  {

  printf( "This " );

  return 0;

  }

  The _onexit function is passed the address of a function (func) to be called when the program terminates normally. Successive calls to _onexit create a register of functions that are executed in LIFO (last-in-first-out) order. The functions passed to _onexit cannot take parameters.


编辑于 2015-02-09 11:08:22 回复(0)
int on_exit(void (*func)(int, void*), void* arg);
//man 3 on_exit
编辑于 2015-08-28 09:40:37 回复(0)