推 gamerred:如果是使用new/malloc要到的記憶體都是放在heap裡 12/29 21:12
→ gamerred:所以雖然你非法讀取 但都是同一個segment 12/29 21:13
→ gamerred:如果記憶體放不同page 作業系統才可能抓到錯誤 12/29 21:14
→ gamerred:不然通常作業系統不幫你抓這種錯 成本太高了 12/29 21:15
→ gamerred:即使幫你抓 這也不是segmentation fault 12/29 21:15
→ gamerred:只能算illegal memory access 12/29 21:16
推 simpdanny:XDDD樓上的解答根本是系統工程師的標準解了 12/29 21:17
→ XDucka: 感謝Gred大神 <(_ _)> 12/29 21:19
推 gamerred:其實還是可能出現segmentation fault 12/29 21:20
→ gamerred:那就是你把記憶體還回去之後 那塊記憶體內容又被改掉 12/29 21:20
→ gamerred:這時候對他解參照 如果解完之後又有用到指標 12/29 21:21
→ gamerred:那麼那個指標就有可能指到別的segment 這時候就有了 12/29 21:22
推 ric2k1:呵呵,這個在 lecture note #7, p6 也有教過哦! 12/29 21:50
推 yan12125:valgrind可以抓這種錯誤喔,有時比gdb+cout好用! 12/30 00:16
→ yan12125:樓上連結上不去... 12/30 02:32
推 Nien1027:感覺用delete只是單純把記憶體還回去,並不會真的清掉裡 12/30 16:35
→ Nien1027:面的東西 12/30 16:36