[問題] 副程式釋放記憶體相關問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
主要是副程式的部分,我有使用動態配置(new),但在結束的時候也有用釋放記憶體的指令
但不知道為啥我打開工作管裡員來看,記憶體卻是一直增加,完全沒有減少的跡象
請問會是什麼問題?我已經debug好幾天了,但還是沒結果.......
或是有辦可以當副程式跑完後,將副程式使用到的記憶體完全釋放出來的指令?
一開始時宣告
float *e = new float [nN+2];
float *f = new float [nN+2];
float *ee = new float [nN+2];
float *ff = new float [nN+2];
結尾return前使用
delete [] e;
e = NULL;
delete [] f;
f = NULL;
delete [] ee;
ee = NULL;
delete [] ff;
ff = NULL;
在中間的運算過程中使用while再包大量的迴圈(for),這樣的運算會很吃記憶體嗎?
我跑一次大概增加1000K左右的記憶體,但因為會一直使用到這個副程式
所以最後就造成程式爆掉(強制關閉)
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/Ugr6BzUi
以上是我的副程式部分程式碼,因為整個程式碼大概有word 14頁這麼多~
我自己努力找到最吃記憶體的元兇就是這個副程式
所以只貼了這部分的程式碼~
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.96.33
→
03/17 21:08, , 1F
03/17 21:08, 1F
→
03/17 21:09, , 2F
03/17 21:09, 2F
→
03/17 21:10, , 3F
03/17 21:10, 3F
謝謝~我貼好了
→
03/17 21:20, , 4F
03/17 21:20, 4F
沒有再使用,只有一開始的部分~
※ 編輯: yuyunmm 來自: 140.113.96.33 (03/17 21:24)
推
03/17 21:28, , 5F
03/17 21:28, 5F
→
03/17 21:29, , 6F
03/17 21:29, 6F
對不起~因為很急著想解決問題,沒有做到應有的整理,我會改進的
→
03/17 21:31, , 7F
03/17 21:31, 7F
→
03/17 21:32, , 8F
03/17 21:32, 8F
所以想請問大大,free是只能去釋放malloc所配置的一維矩陣嗎?
那我是利用malloc創造出二維矩陣應該要怎麼釋放?謝謝!!
※ 編輯: yuyunmm 來自: 140.113.96.33 (03/17 21:36)
→
03/17 21:44, , 9F
03/17 21:44, 9F
推
03/17 21:45, , 10F
03/17 21:45, 10F
→
03/17 21:46, , 11F
03/17 21:46, 11F
→
03/17 21:46, , 12F
03/17 21:46, 12F
→
03/17 21:52, , 13F
03/17 21:52, 13F
推
03/17 22:03, , 14F
03/17 22:03, 14F
→
03/17 22:06, , 15F
03/17 22:06, 15F
→
03/17 22:06, , 16F
03/17 22:06, 16F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章