昨天和今天遇到的奇怪問題是,在偶的exe當中調用其他人編寫的dll文件,都只能創建不能銷毀.程序一調到這些MFC擴展類的析構函數時,在return的時候就會報內存錯誤.具體查看的話,發現在要銷毀的時候,自身的指針會發生變化,所以在delete這種指針甚至在堆(heap)里銷毀的時候,就找不到自身指針.這樣當然會發生內存錯誤.
經過近兩天的調試,最終找到了原因:偶滴工程設置有問題!!
在工程的project–>Setting–>General選項卡當中.第一欄Microsoft Foundation Classes裏,偶選中滴是第一項不知什么時候變成鳥Not Using MFC.而剩下的選成無論哪個,都可以調用MFC類.
最后,為了跟其他人統一,用了第三個.雖然俺不生成dll文件.
所以,以后找bug,一定要先查一下工程的設置是不是有問題.