原来用visual C++ 6时还没有注意这方面的事,当我新分配了一块内存时,用完之后没有释放,VC6是检查不到的,只有通过第三方工具去检测,这样很麻烦,也增加了测试工作。
例如:CDialog* p=new CDialog(),当我声名了这样的对象后,用完之后没有释放,在VC6的Debug模式下退出程序,输出窗口是不会提示你有内存泄漏的。
而当我在vs.net 2003下做同样的工作后,在Debug模式下退出程序,在输出窗口会提示你有内存泄漏的。。
请看下面
:Detected memory leaks!
Dumping objects ->
c:\test\testdlg.cpp(373) : {76} client block at 0x00376938, subtype c0, 116 bytes long.
a CDialog object at $00376938, 116 bytes long
Object dump complete.
所以如果你要调试你的成果,我建议在vs.net下来做,这样即方便,又直观