main 主函式執行完畢後,是否可能會再執行一段程式碼

才智咖 人氣:8.52K

答案:可以,可以用_onexit 註冊一個函式,它會在main 之後執行int fn1(void), fn2(void), fn3(void), fn4 (void);

main 主函式執行完畢後,是否可能會再執行一段程式碼

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.