症状
调用CWnd::GetDC函数跟CWnd::ReleaseDC函数的代码运行时,会出现 4 个字节的内存泄漏。
原因
导致此错误的原因是当前未知。
解决方案
若要避免此问题,请不要使用GetDC方法和ReleaseDC方法的CWnd类版本。使用GetDC函数和ReleaseDC函数。
状态
Microsoft 已经确认这是在本文开头部分列出的 Microsoft 产品中的漏洞。
详细信息
再现现象的步骤在这种方法是从CWnd派生的类的一部分,插入以下代码在您的应用程序:CDC *pDC;RECT rect;GetClientRect (&rect);for (int i = 0; i < 1000; i++){pDC = GetDC ();ReleaseDC (pDC);}如果运行此代码,然后检查系统内存之前和之后运行的代码,您注意到系统内存泄漏四个字节,每个迭代。如果您的代码更改为下面的代码中,不会发生内存泄漏:
HDC hDC;RECT rect;::GetClientRect (m_hWnd, &rect);for (int i = 0; i < 1000; i++){hDC = ::GetDC (m_hWnd);::DrawText (hDC, L"Testing...", 10, &rect, DT_CENTER);::ReleaseDC (m_hWnd, hDC);}

转载于:https://www.cnblogs.com/Alex-CC/p/4981450.html

错误: 内存泄漏,当您使用 GetDC 方法和 ReleaseDC 方法的 CWnd 类版本相关推荐

  1. PDO中错误处理:errorCode方法和errorInfo方法

    在PDO中,有两个获取程序中错误信息的方法:errorCode方法和errorInfo方法. 1.errorCode方法 errorCode方法用于获取在操作数据库句柄时所发生的错误代码,这个错误代码 ...

  2. 面向对象回顾(构造函数、覆盖和重载、Query接口的list方法和iterate方法、面向对象的六原则一法则、反射、内部类)

    1. 什么是构造函数?什么是构造函数重载?什么是复制构造函数? 当新对象被创建的时候,构造函数会被调用. 每一个类都有构造函数. 在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个 ...

  3. virtual方法和abstract方法的使用(轉載)

    在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用.一.Virtual方法(虚方法)virtual 关 ...

  4. IOS开发基础Object-C( 04)—构造方法和description方法

    在上一篇博客中,我们简单介绍了一下点语法和self,相信大家对点语法以及self有了一点的了解,点语法的本质就是调用get方法和set方法.那么今天我们再来介绍一下构造方法和description. ...

  5. 浅谈BufferedReader中的read()方法和readLine()方法

    浅谈BufferedReader中的read方法和readLine方法 前言:本人比较菜啦,如果有错误,还请大佬指正. 1. read方法 查看API文档我们可以发现BufferedReader类中的 ...

  6. asp.net TemplateField模板中的Bind方法和Eval方法

    TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现.以下是Bind方法的格式,Eval的格式也是和Bind一样的. Bind("列 ...

  7. hashcode()方法和equals()方法

    一.hashcode()方法和equals()方法的介绍 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码.eq ...

  8. flush方法和close方法的区别

    package com.learn.Demo05Writer;import java.io.FileWriter; import java.io.IOException;/*flush方法和close ...

  9. Java实现二树杈_HashSet的hashCode方法和equals方法的重写,TreeSet中compareTo方法的重写,Comparator在treeSet中的应用。...

    HashSet的hashCode方法和equals方法的重写,TreeSet中compareTo方法的重写,Comparator在treeSet中的应用. HashSet: 首先,hashset底层是 ...

最新文章

  1. c语言结构体反射解析,C语言结构体解析
  2. 重学前端-学习笔记-JavaScript对象
  3. 《数据驱动安全:数据安全分析、可视化和仪表盘》一2.3 数据帧介绍
  4. 论文笔记:Image Caption(Show, attend and tell)
  5. 阿里云中间件技术 促进互联网高速发展
  6. Bash脚本教程之脚本入门
  7. redis的入门/原理/实战大总结
  8. Hibernate关联关系映射-----单向一对一映射配置
  9. static和const
  10. 突发!Intel CEO 换帅,VMware CEO 将走马上任
  11. 格式化信息窗口内容—ArcGIS API for JavaScript
  12. pygame系列文章
  13. idea 工程中有某个类,仍然报错 Cannot resolve symbol XXX 的问题
  14. Confluence 空间附件(Attachments )宏
  15. zend studio php 错误提示,Zend Studio错误总结,zendstudio总结_PHP教程
  16. 使用计算机软件签什么合同,软件使用许可有哪些种类,签软件使用许可合同注意事项...
  17. 《指弹:HARD RAIN》
  18. Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
  19. 《基于C/S模式的android手机与PC机通信系统的开发》项目
  20. 常用的前端在线引用JS

热门文章

  1. io_uring技术的分析与思考
  2. Repeater的ItemDataBound 事件中e.Item.DataItem 的数据类型
  3. 【话题研究】重塑活力:顺应消费需求变化,PC市场需创新、技术驱动和营销策略更优解
  4. 根据实体类生成持久层、控制层、服务层、实现层
  5. hadoop 命令合集
  6. QuestMobile春节大报告:用户增速快手第一百度第二
  7. com.netflix.zuul.exception.ZuulException: Filter threw Exception
  8. 如何配置ftp服务器
  9. Win10切换语言后设置系统时间、日期、货币
  10. unity动态合批(dynamic batch)