内存泄露
文章平均质量分 91
KFPA
从事软件开发工作
展开
-
最快方法找打内存泄露
这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。 确认是否存在内存泄漏我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp{public: BOOL InitApplication() {转载 2016-06-01 21:40:06 · 457 阅读 · 0 评论 -
内存泄露
查看output窗口,程序中不知何时出现了内存泄露的问题。经过一阵排查,发现是由于一个函数在两个模块中的字符串参数类型定义不一致引起的。该函数实现在EXE中,参数定义为BSTR,在DLL中进行调用(回调喽),DLL中将函数原型参数定义为CString。这样一来编译器是无法发现问题的。想必是DLL原本传了一个CString过去,中途mfc发现需要转换成BSTR,于是只好苦水往肚里咽,偷偷分配转载 2016-07-19 10:15:18 · 339 阅读 · 0 评论 -
浅谈C/C++内存泄露及其检测工具
对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如 Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比转载 2016-09-12 16:45:39 · 442 阅读 · 0 评论 -
类的赋值构造函数和复制构造函数
C++的初学者经常会对复制构造函数一知半解,我曾经对复制构造函数和赋值函数就很是迷茫。闲来无事,整理一下,一个对象的赋值构造函数和赋值构造函数。整体的说一下,复制构造函数和赋值构造函数的相同点是: 赋值运算符和复制构造函数都是用已存在的B对象来创建另一个对象A; 最大的不同在于:赋值构造函数处理两个已有对象,即赋值前B应该是存在的;复制构造函数是生成一个全新的对象,即调用复制构造函数之前A不存在。原创 2016-10-31 22:41:49 · 2189 阅读 · 0 评论