wince 内存泄漏 -- 画笔画刷使用不当

花了两天的功夫终于发现系统资源泄漏的原因,居然是因为画笔画刷使用后未释放造成。

用的是EVC编写MFC应用程序,程序中有一段绘图程序,因为不断刷新,频繁的使用画笔画刷,这样程序运行一天一夜左右就假死了。

 

举个例子说明一下资源对象的使用与释放:

 CDC *dc = new CClientDC(this);//得到绘图环境

 

Cpen gridPen;

gridPen.CreatePen(PS_DASH, 1, RGB(0,0,255));//创建一个蓝色画笔

Cpen *penPoint = dc->SelectObject(&gridPen);//选中画笔

 

CBrush gridBrush( RGB(0,0,255));//创建一个蓝色画刷

CBrush *brushPoint = dc->SelectObject(&gridBrush);//选中画刷

 

 

CRect rect;
GetClientRect(&rect);

 

 

dc->Rectangle(rect);//绘制矩形

dc->SelectObject(penPoint);//恢复绘图对象

dc->SelectObject(brushPoint);//

 

gridPen.DeleteObject();//释放画笔

gridBursh.DeleteObject();//释放画刷

 

if(dc != NULL)//释放绘图环境
{
   delete dc;
}

 

其他绘图类资源HBRUSH,HBITMAP等使用后也一定要记得释放,不然短时间运行可能发现不了什么问题,不过时间久了,当

资源再次创建不成功时,系统就会变得莫名奇妙了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值