
MFC开发
imlmy
这个作者很懒,什么都没留下…
展开
-
_CrtDumpMemoryLeaks输出App类成员对象内存泄露
在MFC程序App类中定义Dialog成员对象,在Dialog成员对象中定义vector成员对象,FuncItem是一个类,包含4个整型数成员。在App的析构函数中使用_CrtDumpMemoryLeaks输出内存泄露信息,发现vector数组成员发生内存泄露。找了半天,终于发现实际并没有泄露。而是Dialog成员需要再App类析构后才进行析构,App析构时输出_CrtDumpMemoryLeak原创 2012-03-16 10:30:13 · 1210 阅读 · 0 评论 -
IMPLEMENT_DYNCREATE 内存泄露
继承CWinThread类,创建自己的线程,在程序退出的时候提示内存泄露,指向的位置是IMPLEMENT_DYNCREATE(CSocketThread,CWinThread)。找到IMPLEMENT_DYNCREATE的定义发现其中有进行new操作。在网上找了很多解决方法,后来发现CWinThread在退出的时候,需要手动调用CWinThread的Delete方法进行释放,否则就会出现内存泄露。原创 2012-04-01 22:45:02 · 2411 阅读 · 0 评论 -
DLL传递字符串数组输出参数
实现了一个数据库模块,提供枚举数据库服务器功能,返回所有数据库服务器名称。一开始想通过vector输出参数方式,在DLL中添加数据库服务器名称。不过在释放输出参数的时候出现错误,这是由于输出参数的资源是在DLL中申请,而在主程序中进行释放,如果申请和释放的方式不一致,就会导致释放出错。 主要的解决方法就是谁申请谁释放。对于这种动态申请的资源,由于资源数量不确定,最好是由DLL来提供接口进行释放。原创 2013-06-25 09:27:54 · 4593 阅读 · 0 评论