作者yoco315 (眠月)
看板C_and_CPP
標題Re: [問題] 關於Loki::Singleton 的解構
時間Wed Jul 8 03:09:21 2009
不是 SmartPtr 的關係...
沒道理容器不能放 SmartPtr...
我懷疑是 VC 的 bug
我看那個當掉的地方是 VC 在檢查 invalid delete 的碼
我猜是因為建構子沒東西
VC 不知道做了什麼最佳化想要省掉東西
結果造成記憶體沒有 new
但是還是進行了 delete 的動作
結果就 core dump 了
測試了一下
我在建構子裡面加上一些東西之後
行為就正常了....
然後我改用 gcc
即使建構子裡面沒東西
程式也很正常的結束 :Q
但是我依然不確定是不是這個問題
搞不好是真的不能用 SmartPtr... orz
窘困,哪個大大來解答 qq
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.109.64
※ 編輯: yoco315 來自: 118.160.109.64 (07/08 04:10)
推 avhacker:我也覺得應該是 vc 的 bug,我用 vc8 追到 heap 那邊 07/08 14:39
→ avhacker:HeapAlloc() / HeapFree() 看起來都很正常. 07/08 14:40
→ avhacker:HeapFree() 之前也沒被別人 free 過. 07/08 14:41
→ avhacker:我不覺得是 optimize 的問題,因為 release 版反而沒事 07/08 14:42
→ avhacker:測猜是 debug 版多加一堆紀錄功能的 bug 07/08 14:43