作者在 2008-05-05 20:15:40 发布以下内容
开发过程出现了Strcore.cpp第(118)、(97)、(95)、(67)、(65)、(60)行的内存泄漏,上网查了众人遇到相同情况的原因探讨以及问题解决。肯定的是,它与CString对象有关。有人说是实例化new和删除实例delete的不配套、或GetBuffer()与ReleaseBuffer()的不配套造成的,而且还有人把CString类对象变量删除后就没了内存泄漏,但删除不是解决的方法。而且我试着添加delete和ReleaseBuffer,或者删除了GetBuffer方法的使用,但问题依然存在。
我定义的CString对象是在单实例对象里的,因此我很怀疑是因为单实例在窗口销毁时没有释放,因此在程序主框架的析构函数中添加了单实例对象的删除:delete CSingleton::Instance();结果让人感觉非常鼓舞,问题解决了,呵呵!!!
但是上网查了单实例使用,应该是自动删除对象的,因此非常困惑。
我定义的CString对象是在单实例对象里的,因此我很怀疑是因为单实例在窗口销毁时没有释放,因此在程序主框架的析构函数中添加了单实例对象的删除:delete CSingleton::Instance();结果让人感觉非常鼓舞,问题解决了,呵呵!!!
但是上网查了单实例使用,应该是自动删除对象的,因此非常困惑。