[問題] 請問在一個 Thread裡一直重複宣告陣列會不會造成memory leak

看板C_and_CPP (C/C++)作者 (wei)時間16年前 (2009/10/13 04:17), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
因為某方面需要動態配置記憶體,但又受限於c 有幾個蠻笨的問題想問: 問題1. 在c語言裡,一個thread裡一直重複宣告陣列,會不會造成 memory leak 例如: thread { int myArry[10]; //陣列大小不一定都一樣 } 請問系統會一直分配記憶體給myArray,這些記憶體是同一個區塊的嗎, 若非同一區塊不就造成 memory leak? 問題2. 若我自己malloc,系統配置的記憶體都不一定, 要怎麼檢查到底有沒有memory leak? 已經找過相關文章,都沒辦法解答我的疑惑 若精華區有文章提到相關的問題,還請各位好心指引,我會自刪 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.125.32

10/13 06:44, , 1F
1. stack 在結束就會釋放, 與在不在同一區塊不太有關係
10/13 06:44, 1F

10/13 06:44, , 2F
2. 確定 malloc 和 free 有成對出現, 這是 programmer 自己
10/13 06:44, 2F

10/13 06:45, , 3F
該注意的責任, 至於 memory leak 的檢查是有一些工具可以做
10/13 06:45, 3F

10/13 06:45, , 4F
有 static code analysis 也有 runtime 的, google 查查吧
10/13 06:45, 4F

10/13 06:45, , 5F
有些還滿貴的.... XD
10/13 06:45, 5F

10/13 12:17, , 6F
有一些免費的吧 只是效果怎樣就不知道了
10/13 12:17, 6F

10/13 14:19, , 7F
感謝樓上大大的解惑,謝謝!!!
10/13 14:19, 7F

10/13 14:29, , 8F
Visual studio也可以檢查memory leak
10/13 14:29, 8F
文章代碼(AID): #1AquxEjW (C_and_CPP)
文章代碼(AID): #1AquxEjW (C_and_CPP)