有的人經常喜歡用C的函數,比如fopen(),
FILE* fp=fopen("D://11.txt", "r");
if(fp)
{
fclose(fp);
}
estlib.lib加上了,運行可以,退出的時候crash了,請問是什麼原因。沒有這段代碼的時候一切正常。
答案如下:
CloseSTDLIB() ;(加上頭文件 libc/sys/reent.h )
把這個函數添加在這些語句的後面。樓主說的crash是報錯alloc嗎?
因爲在symbian當中是沒有靜態可寫全局變量(Writable Static Data)的,所以,stdlib使用線程本地存儲來代替可寫全局變量。但是系統自己不知道什麼時候釋放這些內存。所以你要主動的通過這個函數來告訴系統。