在堆上生成的wxAuiManager造成内存泄漏(wxWidgets 2.9.1版本)

来源:互联网 发布:xp无法映射网络驱动器 编辑:程序博客网 时间:2024/04/24 18:16
 
近日编写AUI的应用程序,在主框架wxFrame构造函数中mgr = new wxAuiManager(this),在wxFrame的解析函数中调用mgr->Uninit().用vc6.0编译连接,在debug版本中运行明显地得到一堆内存泄漏,经过使用 _crtBreakAlloc定位内存泄漏的地方,发现是mgr没有得到释放。在wxFrame的解析函数中加入delete mgr后,内存泄漏得到解决。wxWidgets官方文档不是说new出来的框架类不需要我们主动delete,框架会在destroy时释放这些动态生成的类实例吗?查看了官方提供的sample里的auidemo,发现它是在栈上生成的。难道wxWidgets官方知道了wxAuiManager的问题,没有采用它自己推荐的new方法。在wxWidgets的官方文档中没有对这一问题的任何说明。这个内存泄漏问题困扰了我整整两天才得到解决,如果是wxWidgets的bug,希望wxWidgets能将这一问题写进文档中,避免用户发生同样的泄漏问题而不知所以。
原创粉丝点击