C++, 3DGame
最近有看到一些文章討論怎樣輕松的使用DLL,其中有一個錯誤,那就是在DLL中創建的對象未在DLL中刪除,如下示:
posted on 2007-04-20 13:35 Kooyu 閱讀(1556) 評論(6) 編輯 收藏 引用
恩,沒有試過,但是怎么才是使DLL和用戶都動態鏈接C/C++運行庫那,哈哈!來電詳細的解釋o! 謝謝! 歡迎加入:msn 的C++群: group2041@xiaoi.com 回復 更多評論
就是正在創建的DLL和使用這個DLL的用戶都靜態而不是動態鏈接c/c++運行庫 回復 更多評論
老兄,我用的不是auto_ptr,而是shared_ptr, 我的做法并沒有錯。另外,在復雜的系統中,手工管理內存總是有點危險,而shared_ptr已被列為tr1標準,我們不要停留在原始社會,還是用點新技術吧! 回復 更多評論
@eXile 我虛心接受你的批評。 回復 更多評論
呵呵,DLL中使用shared_ptr的說明:http://www.shnenglu.com/eXile/archive/2007/04/23/22637.html 回復 更多評論
同意作者的觀點。提供一個DllFree(); 然后自己寫一個 dll_auto_ptr:struct dll_auto_ptr{ ... ~dll_auto_ptr<> { DllFree(p); } ...private:}; 回復 更多評論
Powered by: C++博客 Copyright © Kooyu