博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
行规——::GetDC()和::ReleaseDC()配对
阅读量:6644 次
发布时间:2019-06-25

本文共 781 字,大约阅读时间需要 2 分钟。

1、今天向客户演示程序,不巧崩溃了。最后发现是使用了GetDC()后没有使用ReleaseDC()引起的。

2、最早听说GetDC()和ReleaseDC()是从前任带头码哥那里听说的,那时候仅仅用《VC 6.0 应用指南》《深入浅出MFC》

      《从入门到精通》等书籍,最多就是有前卫人士从网上下载个代码、从别处拷贝个代码过来看看,从来没听说过msdn

      尽管这样说,无奈我从来没有当真过。今天就被自己给碰到了。

3、网上查了查,还有人说的更玄虚:

      A、::GetDC()和::ReleaseDC()配对不会产生资源泄漏;

      B、GetDC()和ReleaseDC()配对可能会产生资源泄漏。

      唉,宁可信其有,不可信其无啊!跟踪了一下,发现GetDC()还真不简单,还是::GetDC()简单。

4、查查msdn,相关例如以下描写叙述:

Note that the handle to the DC can only be used by a single thread at any one time.
After painting with a common DC, the ReleaseDC function must be called to release the DC. Class and private DCs do not have to be released. ReleaseDC must be called from the same thread that called GetDC. The number of DCs is limited only by available memory.
      首先是强调单线程使用。单线程内部配对调用GetDC和Release。DC的数量收可用内存的限制。
标记一下,以免忘记。唉,不看msdn的人那。

转载地址:http://gxevo.baihongyu.com/

你可能感兴趣的文章
深入JVM系列之(3):JavaCore和HeapDump
查看>>
9.12 h5日记
查看>>
使用Silverlight Streaming托管Silverlight应用程序
查看>>
Linux实战教学笔记39:Mha-Atlas-MySQL高可用方案实践(一)
查看>>
LeetCode: Restore IP Addresses
查看>>
asp.net(c#)将彩色图片变灰阶图片
查看>>
HDU 2504 又见GCD(数论,最大公约数)
查看>>
Python基础-入门之路
查看>>
驭风篇
查看>>
centos7 在虚拟机中装好后的网络连接问题
查看>>
PHP 生成随机字符串
查看>>
数据结构-算术表达式求值
查看>>
关于chrome被篡改主页修复方法
查看>>
电子商务网站中店铺按销量的排序
查看>>
oracle字段类型
查看>>
jQuery 的选择器常用的元素查找方法
查看>>
Linux命令未找到(command not found),误删Linux path原始路径
查看>>
SSE指令集系列之三
查看>>
LAMMPS源代码(1)- 源自精小木虫论坛华贴
查看>>
Linux 下安装NodeJS (二进制包)
查看>>