做了一个小项目,碰到了不少内存泄露的问题,现在总结一下:
1、注意char数组长度过短导致的内存泄露问题。
这类溢出问题发生后,一般会报内存错误,但是有时候由于自身的代码做了安全检测,根本察觉不到,只能跟踪各个对象内存地址是否改变来解决。
2、注意VaRIANT变量的使用问题
使用VARIANT变量之前,一定要调用VariantClear()函数,否则会造成内存泄露 ,至于原因,我也说不太清楚,VARIANT变量还有其他的一些使用事项,具体见MSDN。
ms-help://MS.MSDNQTR.2003FEB.2052/automat/htm/chap7_2jhu.htm
3、使用内存泄露检测工具Visual Leak Detector
这个工具的使用方法在前一篇文章里有,感觉这个工具真废,但有总比没有好,有时间的话研究它的源代码,搞搞CRT.
4、发生内存泄露后,分段检测代码
5、注意在类的构造函数里初始化成员,在析构函数里释放