包含drawimage内存泄漏的词条

http://www.itjxue.com  2023-01-26 21:17  来源:未知  点击次数: 

MFC内存泄漏了。。请各位帮帮忙看下程序。

内存泄漏一般 是 在释放对象时,没有手动释放 堆 上的数据(即:自己程序中申请的空间)

C++ GDI图像到IStream出现内存泄漏

我重新看了下你的代码,很可能是这一处问题:

GlobalFree(hMem);

pStream-Release();

上面这两句代码需要调换位置,一定要先调用pStream-Release()再调用GlobalFree(),GlobalFree函数将“尝试释放”掉hMem指向的内存,如果你的Release函数没有调用,这块内存的引用计数值仍是大于1的,将无法被GlobalFree成功释放掉。

详情请参考MSDN中对CreateStreamOnHGlobal函数的文档说明,当中有这样一句

Do not free the hGlobal memory handle during the lifetime of the stream object. IStream::Release must be called before freeing the memory handle.

根据msdn的文档,你上述两句顺序是肯定有问题的,所以请你更正一下再做调试。如果执行之后还有问题,请再补充。

MFC 双缓冲内存泄露

首先是内存泄漏还是GDI对象没有释放啊?如果是内存泄漏的话,找new的地方看有没有delete,如果是GDI的话,那就的看申请GDI句柄的地方,最后没有释放。

(责任编辑:IT教学网)

更多

推荐Oracle认证文章