作者septemhill (冰淇淋乾杯)
看板C_and_CPP
標題[問題] _onexit
時間Tue Jun 1 20:07:05 2010
請教各位一個函數的用法
剛剛在看一些程式碼的時候,看到一個_onexit函數
上面寫說可以在main結束後,再執行某一些函數
將要執行的函數名稱丟進去_onexit即可
我看範例是這樣寫得:
#include <stdlib.h>
#include <stdio.h>
/* Prototypes */
int fn1(void), fn2(void), fn3(void), fn4 (void);
int main( void )
{
_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;
}
不過我實際上在編譯的時候卻不會過,會找不到lib
但是看文章上面寫得樣子,並不需要額外的lib
請問一下我是哪邊有出問題嗎?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.214.123
推 clanguage:這個 vc才有吧 曾經用過。。 06/01 20:37
推 loveflames:改用atexit() 06/01 20:54
→ tinlans:#include <stdlib.h> + atexit() + 標準 C 的 lib 06/01 21:02
→ septemhill:我一直都在linux平台測試,所以不清楚 06/01 21:04
→ septemhill:謝謝各位指點 06/01 21:04
→ sunneo:linux也是atexit的說 06/02 15:58