[問題] 如何確認是否 free 對記憶體
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
DEV C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
問題(Question):
不好意思,太淺的我又來討打了 >"<
使用 malloc 完的記憶題 必須要 free 掉,這我知道
不過,想請問各位大大如何去確認你free掉的 是不是對的地方!?
因為最近再寫一個有點極為複雜結構的程式,指來指去
有時候都會搞亂掉現在 Type 到底是 指指標 還是 指標 = =a
深怕會 free 錯塊,目前我有兩種方法,想請教版上大大們
可以這麼做嘛!?
舉個簡單的例子來問好了,如 : http://codepad.org/g12UVEf7
方法一.
有想過 在當 malloc 出來的該塊記憶體時候也印出起始位置,
然後在 free 之前也在印出是否一樣來確認沒free錯塊
就像 這個例子 : http://codepad.org/h9SPuyNC
但是 不知道我這樣做到底正不正確。
方法二.
這招是我友人跟我說的另一個方法,他說就free掉之後
原本指標變數裡的存的位置還沒變之前,再一次寫入看看能不能寫
如果有當掉,就代表 可能真的 free 成功了!
寫法就像 : http://codepad.org/SNrJa7jq
像這個例子。他就真的會當了,但又當結構很複雜 function 呼叫來呼叫去的
有時候 free 掉再寫,我發現不一定會當耶...
所以我也對方法二很懷疑... = =a
想請問各位大大們 都用什麼方式 check 啊!?
--
你都怎麼判斷啊!?
--
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.161.11.204
→
11/02 00:22, , 1F
11/02 00:22, 1F
→
11/02 00:23, , 2F
11/02 00:23, 2F
→
11/02 00:24, , 3F
11/02 00:24, 3F
→
11/02 00:31, , 4F
11/02 00:31, 4F
→
11/02 00:33, , 5F
11/02 00:33, 5F
→
11/02 00:38, , 6F
11/02 00:38, 6F
→
11/02 00:39, , 7F
11/02 00:39, 7F
→
11/02 00:43, , 8F
11/02 00:43, 8F
→
11/02 00:44, , 9F
11/02 00:44, 9F
→
11/02 00:45, , 10F
11/02 00:45, 10F
→
11/02 00:51, , 11F
11/02 00:51, 11F
→
11/02 00:51, , 12F
11/02 00:51, 12F
→
11/02 00:52, , 13F
11/02 00:52, 13F
→
11/02 00:52, , 14F
11/02 00:52, 14F
→
11/02 01:01, , 15F
11/02 01:01, 15F
→
11/02 01:02, , 16F
11/02 01:02, 16F
推
11/02 01:27, , 17F
11/02 01:27, 17F
→
11/02 11:10, , 18F
11/02 11:10, 18F
→
11/02 11:11, , 19F
11/02 11:11, 19F
→
11/02 11:13, , 20F
11/02 11:13, 20F
→
11/02 11:14, , 21F
11/02 11:14, 21F
→
11/02 14:35, , 22F
11/02 14:35, 22F
→
11/02 17:26, , 23F
11/02 17:26, 23F
→
11/02 17:27, , 24F
11/02 17:27, 24F
→
11/02 17:28, , 25F
11/02 17:28, 25F
→
11/02 17:29, , 26F
11/02 17:29, 26F
→
11/02 17:53, , 27F
11/02 17:53, 27F
→
11/02 17:54, , 28F
11/02 17:54, 28F
→
11/02 21:20, , 29F
11/02 21:20, 29F
推
11/03 19:58, , 30F
11/03 19:58, 30F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):