孙鑫VC学习笔记:第十三讲 (六) 关于释放内存

HDMI与DisplayPort混搭方案:如何用Xilinx Video PHY Controller实现多协议视频接口转换 本文详细解析了如何利用Xilinx Video PHY Controller IP核实现HDMI与DisplayPort协议转换,涵盖混合视频接口架构设计、GT收发器动态重配置策略及跨协议时钟域处理方案。通过实战案例和配置技巧,帮助开发者构建高性能多协议视频转换系统,适用于医疗影像、工业控制等场景。 阅读详情

关于释放内存

不管是新建文档还是打开另外一份文档,文档对象都是被重复使用的,我们应该在这个时候去释放先前分配的内存。在打开或者新建一个文档时都会调用Cdocument::OnOpenDocument方法,而这个方法又会调用DeletContents成员函数删除文档数据,该函数在文档被销毁之前或文档被重复使用之前被调用,用来删除对象的数据(但并不消除对象本身),从而确保文档数据是空的。这对于一个单文档应用程序来说尤其重要,因为单文档应用程序只使用一个文档。

---------------------------------------------------------------------------------

前面我们在CGraphicView::OnLButtonUp方法中用new方法在堆中分配了一个内存:

CGraph *pGraph =new CGraph(m_nDrawType,m_ptOrigin,point);

现在来看看如何释放这个对象内存:

1.首先在CGraphicDoc中添加一个虚函数:DeletContents()

2.然后在CGraphicDoc::DeleteContents()方法中去释放pGraph指向的内存。

 


  注意:

1.CDocument::DeleteContents()会在打开、新建、关闭文档时被调用

2.CObArray::RemoveAt 方法将队列中从指定位置开始移除一个或多个元素,然后将该位置以上的元素下移,从而导致数组中数据的重排。在上面的代码中,m_obArray对象从第0个位置开始移除,移一次后面的元素下移一个单位,当然nCount数目也应该相应地减少一个,但是上们的nCount并不会减少,所以会出现错误。把代码改成下面的代码就不会出现非法操作。

 
激光雷达与相机时间戳同步:原理、触发方案与工程实现 目录一、引言:时间不同步,多传感器融合必出问题二、核心原理:相机成像机制与触发模式(同步的基础)2.1 相机成像的两个核心阶段:曝光与读出(1)非交叠曝光(2)交叠曝光2.2 相机触发模式:内触发 vs 外触发(1)内触发(2)外触发2.3 关键信号:Strobe信号与预输出(同步的核心技巧)三、三种主流时间戳同步方案(工程落地首选)3.1 方案一:统一硬触发(精度最高,高端场景首选)核心原理核心配置要点优缺点适用场景3.2 方案二:软触发+硬触发(Strobe预输出,车载量产首选)核心原理核心配置要点优缺 阅读详情

相关推荐

避开这些坑!晶圆封装中Wire Bonding(引线键合)的5种常见不良与实战调试心得

本文深入探讨晶圆封装中Wire Bonding(引线键合)的5种常见不良现象,包括Wire Offset、BSOB不良、球径/球厚异常、弧度不良和IMC问题。通过实际案例和参数优化方案,帮助工程师提升封装质量和可靠性,特别适用于半导体封装领域的专业人士。

weixin_33672109的博客 524

孙鑫VC学习笔记:第十三讲 关于释放内存

关于释放内存不管是新建文档还是打开另外一份文档,文档对象都是被重复使用的,我们应该在这个时候去释放先前分配的内存。在打开或者新建一个文档时都会调用Cdocument::OnOpenDocument方法,而这个方法又会调用DeletContents成员函数删除文档数据,该函数在文档被销毁之前或文档被重复使用之前被调用,用来删除对象的数据(但并不消除对象本身),从而确保文档数据是空的。这对于一个单

遐迩思的专栏 3498

FPGA数字信号处理中定点数的舍入与饱和硬件实现详解

在数字信号处理(DSP)的硬件实现中,定点数运算是核心基础。由于硬件资源(如FPGA的DSP Slice)的位宽有限,连续的乘加运算会导致数据位宽膨胀,严重影响时序和资源利用率。为解决此问题,必须引入舍入(Rounding)和饱和(Saturation)机制。舍入通过对低位进行四舍五入,在可控的精度损失下缩减位宽;饱和则作为动态范围的守护者,防止数据溢出导致信号环绕失真,确保系统行为确定。这两种技术是算法在有限精度硬件上正确、高效运行的关键,广泛应用于滤波器、FFT等DSP模块以及通信、音频处理等场景。本文

weixin_30954817的博客 247

MFC 控件清除内存

用MFC 树控件表控件时内存总是占用的非常的大。 注意,这里已经排除了内存泄露的问题,因为没有进行任何的new 和 delete。 其实CListControl占用的内存已经没用了,但是Windows没有立即释放,而是暂存在程序堆里,以便如果下次再用的时候可以立即提供而不必再申请。 ::SetProcessWorkingSetSize(GetCurrentProcess(), -1,...

qq_42095701的博客 1254

无感无刷电机控制进阶:反电动势过零检测的5种实现方案对比

本文深入探讨无感无刷电机控制中反电动势过零检测的5种实现方案,包括电阻分压虚拟中性点法、专用BEMF检测IC方案、基于ADC采样的数字锁相环、无传感器观测器技术及混合方案创新实践。通过对比分析各方案的优劣及适用场景,为电机控制工程师提供实用的技术选型指南,助力提升系统性能与成本效益。

weixin_28691741的博客 843

优雅谈大模型:“System2”与“System 1”

研究人员探索了三种System 2方法——RaR、S2A 和 BSM,这些方法已经成功提炼到新的LLM,这个新的模型与System 1相比,产生了更好的结果,而且成本低于System 2。然而这种方法是有局限性,只能适用于特定的任务。

鲁班模锤 5151

MFC关于VS2013内存释放的定位

全部在App中完成 1.在 App.h 头文件声明 #ifdef _DEBUG protected:       CMemoryState m_msOld, m_msNew, m_msDiff; #endif  // _DEBUG   2.在 App::InitInstance() 中添加如下代码: #ifdef _DEBUG       m_msOld.Ch

金属服务,美好生活,天网改变世界,华帝量子科技。 2003

肖特基二极管的反向恢复过程

本博客简述肖特基二极管反向恢复过程。

记得诚 1万+

MFC中常用的内存分配及释放函数

<br />在MFC中,用后可以使用多种方法来分配和释放内存空间,下面给出经常使用的内存分配和释放的函数,如下表所示。<br /> <br />内存分配函数                                        内存释放函数<br />GlobalAlloc                                         GlobalFree<br />LocalAlloc                                           Local

Code Captain的专栏 3857

腾讯Android开发面试准备指南及参考答案

腾讯元宝高级Android开发职位面试准备指南 该职位要求扎实的Kotlin基础、架构设计能力和性能优化经验,重点关注Android客户端开发。面试流程约3轮,支持线上面试,流程较快。候选人需准备以下核心内容: 基础技术:Kotlin特性、Android开发生命周期、多线程编程 架构设计:MVVM/MVI模式应用、组件化解耦方案 性能优化:流畅度提升、内存管理、启动时间优化等实战案例 加分技能:Jetpack Compose开发、音视频处理、跨平台开发经验 建议结合项目经验准备具体案例,突出技术深度和问题解

郑伟强dev的专栏 1194

在Android Jetpack Compose中实现夜间模式

Android基于Compose的深色主题实现

虎哥LoveDroid 1235

孙鑫老师总结的vc小知识

孙鑫老师总结的vc小知识 收藏转自程序员之家论坛。下面的知识都是孙鑫老师总结的一些常见问题和解决方案。转载自此处以备查学。VC小知识总结(续)(1)当文档被修改时,如何在标题上加上标志'*'?重载CDocument类的虚函数virtual SetModifiedFlag:void CTest2Doc::SetModifiedFlag(BOOL bModified){    CString strT

tony的专栏 2748

ros入门(八)---TF坐标转换

TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。

weixin_51157015的博客 3388

孙鑫VC学习笔记:第十三讲 (四) 生成可串行化的类

480

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

孙鑫VC第五课学习笔记

孙鑫VC第五课学习笔记文本编程知识点一使用CreateSolidCaret( int nWidth, int nHeight )在文本编辑器中可以创建插入符,这边提到了如果函数的两个参数都设置为0,系统将默认采用窗口边框的高和宽。那么如果知道窗口边框的高和宽,在MSDN中有这样的说明:The system’s window-border width or height can be r

张戟的专栏-H.264学习乐园 6425

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

孙鑫VC学习笔记:第一讲

到现在才学VC,感觉太晚了; 到现在才看孙鑫VC视频教程,感觉太菜了。在这高手云集的地方,写这些东西有点让人发笑。唉,现在也不需要什么脸皮了,写就写吧,做下一些记录,以后可以看看自己是怎么成长的。希望有菜鸟们一起来学习,交流,更希望有大师指点指点,发发评论什么的!本来笨鸟要先飞的,我这笨鸟却这么晚才起飞,大家都飞出好远了,我唯有加倍的努力了!至于学习方法,还得请各位多多指教。下面开始我的教程:

遐迩思的专栏 2597

孙鑫VC学习系列教程

教程简介 1、循序渐进  从Win32SDK编程开始讲解,帮助大家理解掌握Windows编程的核心 —— 消息循环机制。 2、通俗易懂  编程语言枯燥难懂,然而通过孙鑫老师形象化的讲解,Windows和MFC编程中的难点、重点,让你轻松掌握。 3、实战性强  编程中要注意什么?如何阅读出错提示?如何调试运行程序?如何排查错误,解决问题?通过孙鑫老师的一步步操作讲解,带你迅速掌握程序

学如逆水行舟,不进则退 1821

孙鑫C++视频教程

(注意以下为FTP下载地址,建议使用迅雷等下载工具下载,全20CD,已添加完整) 孙鑫C++教程(全20讲)PPT讲义.rar 孙鑫C++教程01.rar 孙鑫C++教程02.rar 孙鑫C++教程03.rar 孙鑫C++教程04.rar 孙鑫C++教程05.rar 孙鑫C++教程06.rar 孙鑫C++教程07.rar 孙鑫C++教程08.rar 孙鑫C++教程0

又见炊烟 6280

孙鑫C++教程(全20讲)

(注意以下为FTP下载地址,建议使用迅雷等下载工具下载,全20CD,已添加完整)孙鑫C++教程(全20讲)PPT讲义.rar孙鑫C++教程01.rar孙鑫C++教程02.rar孙鑫C++教程03.rar孙鑫C++教程04.rar孙鑫C++教程05.rar孙鑫C++教程06.rar

http://www.softwareace.cn 王牌软件 2510

VC深入详解(孙鑫笔记)自学必备

VC深入详解(孙鑫笔记)自学必备

j416066989的博客 336

孙鑫VC学习笔记:第七讲

七、对话框 2006年8月5日14:25因为笔记是用OneNote做的,上传以后为看不到图片,于是我截图放到相册上面,相册地址为:http://photo.163.com/photos/goodmoood/61588745/   如何创建一个对话框1.先插入一个对话框,对话框本身也是一个窗口Insert->resouce 2.我们需要

遐迩思的专栏 5992

孙鑫VC学习笔记:多线程编程

孙鑫VC学习笔记:多线程编程 孙鑫VC学习笔记:多线程编程 SkySeraph Dec 11st 2010  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified Date:Dec.11st 2010 HQU ========================================

浮城大亨的专栏 2480

孙鑫VC学习笔记:第十三讲 (二) 设置文档标题

设置文档标题:前面我们讲过如何去修改一个程序的图标(在CMainFrame类中)、光标、背景(在View类中),没有讲如何修改程序的标题(在前面两个类中都修改不了)。方法一: 在程序启动的时候,会调用OnNewDocument创建一个“无标题”文档, 所以我们可以在这个方法中调用CDocument类的SetTitle成员函数修改标题。方法二:  也可以在String Table中修改标题,

梦想---软件设计师 1044
上一篇: 孙鑫VC学习笔记:第十三讲 (五) 保存可串行化的类对象 如何获取文档与视类指针
下一篇: 孙鑫VC学习笔记:第十四讲 (一) 网络的基本概念
Savitch
博客等级 码龄16年 84粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值