内存泄漏

sogald_2001 2002-04-09 01:39:29
首先使用 GlobalAlloc(GHND,dwLen)分配了一部分内存,返回HDIB句柄
然后使用 GlobalRealloc(hDIB,dwLen2,0)重新分配了内存,返回句柄H

HDIB = GlobalAlloc(GHND,dwLen)
if(HDIB)
{
//这儿进行了一些操作...
if(H = GlobalReAlloc(HDIB,dwLen2,0))
HDIB = H;
else
{
GlobalFree(HDIB);

}
}
else
GlobalFree(HDIB);

我觉得没有问题,但是使用 BoundsChecker 检测说在 GlobalReAlloc 处尤内存泄漏
想了好久都想不通,请各位大哥指教!





































...全文
53 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sogald_2001 2002-04-12
  • 打赏
  • 举报
回复
当重新分配内存不成功的时候就会执行,或者是原来的HDIB句柄为空的时候也执行
问题是,这个本来没有错误的操作(我实在是找不出什么错误)却被BoundsChecker认为有内存泄露,我都头痛死了。
各位有办法请说一说!
winfit 2002-04-09
  • 打赏
  • 举报
回复
当分配成功GlobalFree(HDIB);居然不执行,而不成功,反而执行了,晕死啦
kingfish 2002-04-09
  • 打赏
  • 举报
回复
else
GlobalFree(HDIB);

这句什么时候执行?

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧