如何開啟一個程式,並在幾秒後關閉,釋放掉記憶體? |
尚未結案
|
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
請參考:
【問題】實體記憶體變少了
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52293 請多多利用本站搜尋功能。 -------------------------------
數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D
Anpinos Middle Earth http://anpino.hp.infoseek.co.jp/
-------------------------------
|
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
請問我連續配置了10個一樣大小的記憶體空間,在工作管理員也有看到明顯的記憶體增加,但是按了釋放記憶體的按鈕之後,他只會釋放最後那一個記憶體空間.
請問該如何選擇其中的某一個記憶體空間去釋放?
謝謝. 我的程式碼如下:
int *DataBuffer; void __fastcall TForm1::btnAllocMemClick(TObject *Sender) { int Size=262144; for (int i=0;i<10;i ) { DataBuffer=(int*)HeapAlloc(GetProcessHeap(),0,Size*sizeof(int)); if(DataBuffer==NULL){ ShowError(); } Label1->Caption=HeapSize(GetProcessHeap(),0,DataBuffer); Label1->Caption=IntToStr(StrToInt(Label1->Caption)/1024) " KBytes"; } } void __fastcall TForm1::btnReleaseMemClick(TObject *Sender) { Label3->Caption=HeapFree(GetProcessHeap(),0,DataBuffer); Label3->Caption=Label1->Caption " KBytes"; }發表人 - nlj859 於 2004/08/04 12:57:20 |
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
引言: 請問我連續配置了10個一樣大小的記憶體空間,在工作管理員也有看到明顯的記憶體增加,但是按了釋放記憶體的按鈕之後,他只會釋放最後那一個記憶體空間. 請問該如何選擇其中的某一個記憶體空間去釋放? 謝謝.用指標陣列紀錄配置的記憶體。 ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D Anpinos Middle Earth http://anpino.hp.infoseek.co.jp/ ------------------------------- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |