⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.htm

📁 主要介绍了多任务下面的一些数据结构和算法,比如树和图的一些遍历
💻 HTM
📖 第 1 页 / 共 4 页
字号:
style="FONT-FAMILY: 华康简宋">程序中使用了</SPAN><SPAN lang=EN-US>printf()</SPAN><SPAN 
style="FONT-FAMILY: 华康简宋">函数将文件名和行号打印出来,这里使用</SPAN><SPAN 
lang=EN-US>printf()</SPAN><SPAN 
style="FONT-FAMILY: 华康简宋">函数只是做一个示意,实际应用中可能需要改成其他类型的信息输出函数。</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 华康简宋">可以使用函数调用来实现在程序退出时自动调用</SPAN><SPAN 
lang=EN-US>GC_CheckMemory()</SPAN><SPAN style="FONT-FAMILY: 华康简宋">函数。</SPAN></P>
<P class=MsoNormal style="MARGIN: 8pt 0cm; LINE-HEIGHT: 14pt"><SPAN 
lang=EN-US>atexit(GC_CheckMemoryLeak)</SPAN><SPAN 
style="FONT-FAMILY: 宋体">;</SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 华康简宋">这里使用了</SPAN><SPAN 
lang=EN-US>C</SPAN><SPAN style="FONT-FAMILY: 华康简宋">标准库的</SPAN><SPAN 
lang=EN-US>atexit()</SPAN><SPAN 
style="FONT-FAMILY: 华康简宋">函数,这个函数是在整个程序退出时调用它的参数指向的函数来执行,但是调用的时间比全局变量的释放要早,所以如果使用了全局变量,全局变量也被当作泄漏报告出来。</SPAN></P>
<H2 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm; TEXT-ALIGN: center" 
align=center><SPAN style="FONT-FAMILY: 方正准圆简体">本</SPAN> <SPAN 
style="FONT-FAMILY: 方正准圆简体">章</SPAN> <SPAN style="FONT-FAMILY: 方正准圆简体">小</SPAN> 
<SPAN style="FONT-FAMILY: 方正准圆简体">结</SPAN></H2>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 华文仿宋">本章主要介绍了动态等尺寸内存管理算法以及使用引用计数的垃圾内存回收算法,还介绍了动态等尺寸内存管理算法的应用实例</SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋; LETTER-SPACING: -0.1pt">—</SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">—</SPAN><SPAN lang=EN-US>Emalloc</SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">内存管理。</SPAN><SPAN lang=EN-US>C/C++</SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">软件设计中,内存管理策略的设计是非常重要的环节。本章所介绍的动态等尺寸内存管理算法,可以有效地消除内存碎片,且效率很高,对系统内存的使用也可以动态增长和释放,是一个应用前景美好的算法。</SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 华文仿宋">垃圾内存回收算法则是在用户程序层实现的,采用引用计数方法,并可以采用手工释放方式来消除内存循环引用的情况。对手工释放可能导致的内存泄漏,设计了内存泄漏检查方法,同样是一个可以在实际中投入商业使用的垃圾内存回收管理算法。</SPAN></P>
<H2 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm; TEXT-ALIGN: center" 
align=center><SPAN style="FONT-FAMILY: 方正准圆简体">习题与思考</SPAN></H2>
<P class=MsoNormal style="MARGIN-LEFT: 12.75pt; TEXT-INDENT: -12.75pt"><SPAN 
lang=EN-US>1.&nbsp;&nbsp; </SPAN><SPAN style="FONT-FAMILY: 华文仿宋">将</SPAN><SPAN 
lang=EN-US>9.3.2</SPAN><SPAN style="FONT-FAMILY: 华文仿宋">节中的</SPAN><SPAN 
lang=EN-US>Efree(void *p, size_t size) </SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">函数的第</SPAN><SPAN lang=EN-US>2</SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">个参数去掉,如何修改编码来实现它</SPAN><SPAN lang=EN-US>?</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 12.75pt; TEXT-INDENT: -12.75pt"><SPAN 
lang=EN-US>2.&nbsp;&nbsp; </SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">如何将本章介绍的内存泄漏检查和内存越界检查结合起来使用?</SPAN></P>
<P class=MsoNormal style="MARGIN-LEFT: 12.75pt; TEXT-INDENT: -12.75pt"><SPAN 
lang=EN-US>3.&nbsp;&nbsp; </SPAN><SPAN 
style="FONT-FAMILY: 华文仿宋">如果原来已经写好了一个软件,如何在不修改原来代码的基础上将其中的内存管理算法替换成本章所介绍的动态等尺寸内存分配算法?</SPAN></P></DIV><!-- page -->
<DIV class=page style="TEXT-ALIGN: center"><A 
href="http://book.csdn.net/bookfiles/65/100652570.shtml">上一页</A>&nbsp;&nbsp;&nbsp;<A 
href="http://book.csdn.net/bookfiles/65/index.html">首页</A> </DIV>
<DIV 
style="BORDER-RIGHT: #0b5f98 1px solid; BORDER-TOP: #0b5f98 1px solid; MARGIN: 0px auto; BORDER-LEFT: #0b5f98 1px solid; WIDTH: 700px; BORDER-BOTTOM: #0b5f98 1px solid">
<DIV 
style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; WIDTH: 16px; COLOR: white; PADDING-TOP: 1px; BACKGROUND-COLOR: #0b5f98">图书导读 
</DIV>
<DIV 
style="PADDING-LEFT: 2px; FLOAT: right; WIDTH: 670px; LINE-HEIGHT: 16pt; TEXT-ALIGN: left"><!--导读-->
<H1 id=divCurrentNode2 
style="PADDING-LEFT: 2px; FONT-SIZE: 12px; WIDTH: 100%; COLOR: #b83507; TEXT-ALIGN: left">当前章节:<A 
href="http://book.csdn.net/bookfiles/65/100652571.shtml"><FONT color=red>9.2.4 
使用垃圾回收算法来做内存泄漏检查</FONT></A></H1>
<DIV id=divRealteNod2 style="PADDING-LEFT: 2px">
<DIV style="FLOAT: left; WIDTH: 49%">·<A 
href="http://book.csdn.net/bookfiles/65/100652568.shtml">9.2.1 
垃圾收集算法简介</A></DIV>
<DIV style="FLOAT: right; WIDTH: 49%">·<A 
href="http://book.csdn.net/bookfiles/65/100652569.shtml">9.2.2 
用户层垃圾回收算法的实现</A></DIV>
<DIV style="FLOAT: left; WIDTH: 49%">·<A 
href="http://book.csdn.net/bookfiles/65/100652570.shtml">9.2.3 
多任务下的垃圾收集</A></DIV></DIV></DIV></DIV>
<DIV class=clear> </DIV></DIV>
<DIV class=todayCommend style="WIDTH: 100%">
<DIV class=title>
<H5>同类图书推荐</H5></DIV>
<DIV class="blank6 clear"></DIV>
<DIV class=content id=divSameSort>
<LI style="FLOAT: left; WIDTH: 20%"><A title="数据挖掘原理与应用—— SQL Server 2005数据库" 
href="http://book.csdn.net/bookfiles/242/"><IMG height=112 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124727__.jpg" 
width=80 border=0></A>
<P><A title="数据挖掘原理与应用—— SQL Server 2005数据库" 
href="http://book.csdn.net/bookfiles/242/">数据挖掘原理与应用—...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title="Oracle PL/SQL 专家指南" 
href="http://book.csdn.net/bookfiles/241/"><IMG height=112 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124725__.jpg" 
width=80 border=0></A>
<P><A title="Oracle PL/SQL 专家指南" 
href="http://book.csdn.net/bookfiles/241/">Oracle PL/SQL 专家指...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title="Microsoft SQL Server2005开发指南" 
href="http://book.csdn.net/bookfiles/240/"><IMG height=112 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124697__.jpg" 
width=80 border=0></A>
<P><A title="Microsoft SQL Server2005开发指南" 
href="http://book.csdn.net/bookfiles/240/">Microsoft SQL Server...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title=精通SQL——结构化查询语言详解 
href="http://book.csdn.net/bookfiles/235/"><IMG height=112 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00124582__.jpg" 
width=80 border=0></A>
<P><A title=精通SQL——结构化查询语言详解 
href="http://book.csdn.net/bookfiles/235/">精通SQL——结构化查询...</A></P></LI>
<LI style="FLOAT: left; WIDTH: 20%"><A title="Oracle 10g DBA宝典" 
href="http://book.csdn.net/bookfiles/188/"><IMG height=112 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/TS00123307__.jpg" 
width=80 border=0></A>
<P><A title="Oracle 10g DBA宝典" href="http://book.csdn.net/bookfiles/188/">Oracle 
10g DBA宝典</A></P></LI></DIV></DIV><!-- 评论 -->
<DIV class=clear></DIV>
<DIV class=todayCommend style="WIDTH: 100%">
<DIV class=title>
<H5>网友热评</H5></DIV>
<DIV class="blank6 clear"></DIV>
<DIV class=content style="OVERFLOW: scroll; WIDTH: 99%; TEXT-ALIGN: left">
<SCRIPT 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/NewsCsdnNetJsReferences.htm" 
type=text/javascript></SCRIPT>
</DIV></DIV><!-- 今日推荐 -->
<DIV class=clear></DIV>
<DIV id=tagad style="TEXT-ALIGN: left">
<DIV id=csdn_zhaig_ad_yahoo style="WIDTH: 99%"></DIV>
<SCRIPT type=text/javascript>
                ad_width=468;
ad_height=60;
adcss=2;
unionuser=22;
  
ad_type='j';
count=3;
                </SCRIPT>

<SCRIPT 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/showads.js" 
type=text/javascript></SCRIPT>

<SCRIPT 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/tag.js" 
type=text/javascript></SCRIPT>
</DIV></DIV><!-- 页脚 -->
<DIV id=foot><IMG height=0 alt="" 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/readbook.htm" 
width=0> </DIV>
<STYLE>#CFBig {
	CLEAR: both; FONT-SIZE: 12px; MARGIN: auto; WIDTH: 770px; FONT-FAMILY: Tahoma, sans-serif; TEXT-ALIGN: center
}
#CFBig #CFContent {
	MARGIN: auto; WIDTH: 500px; TEXT-ALIGN: center
}
#CFBig #CFContent P {
	MARGIN: 2px
}
#CFBig HR {
	COLOR: #4682b4; HEIGHT: 1px
}
#CFBig #CFBiaoShi {
	FLOAT: right; WIDTH: 40px
}
#CFBig A:link {
	COLOR: #000; TEXT-DECORATION: none
}
#CFBig A:visited {
	COLOR: #000; TEXT-DECORATION: none
}
#CFBig A:hover {
	COLOR: #369; TEXT-DECORATION: none
}
#CFBig A:active {
	COLOR: #000; TEXT-DECORATION: none
}
</STYLE>
<!-- 页脚 -->
<DIV style="TEXT-ALIGN: center">
<DIV id=CFBig>
<HR>

<DIV id=CFContent>
<DIV id=CFBiaoShi><A 
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
height=48 alt="" 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/BiaoShi.gif" 
width=40 border=0></A> </DIV>
<P><A href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A>-<A 
href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A>-<A 
href="http://www.csdn.net/map/map.shtm">网站地图</A>-<A 
href="http://www.csdn.net/help/help.asp">帮助</A>-<A 
href="http://www.csdn.net/intro/intro.asp?id=9">联系方式</A>-<A 
href="http://job.csdn.net/Jobs/f9c75c9f2ad14404a604669b757b9ed0/viewcompany.aspx">诚聘英才</A>-<A 
href="http://www.csdn.net/english/">English</A>-<A 
href="javascript:navigate('mai'%20+%20'lto:'%20+%20'webm'%20+%20'aster@c'%20+%20'sdn.n'+'et?subject=向CSDN报告问题')">问题报告</A></P>
<P>北京百联美达美数码科技有限公司&nbsp;&nbsp;版权所有&nbsp;&nbsp;京 ICP 证 020026 号</P>
<P>Copyright &copy; 2000-2006, CSDN.NET, All Rights Reserved</P></DIV>
<HR>
</DIV></DIV>
<SCRIPT type=text/javascript>document.write("<img src=http://counter.csdn.net/pv.aspx?id=115 border=0 width=0 height=0>");</SCRIPT>

<SCRIPT language=JavaScript 
src="9_2_4 使用垃圾回收算法来做内存泄漏检查 - 《多任务下的数据结构与算法》 - 免费试读 - book_csdn_net.files/counter.js"></SCRIPT>
<!-- /页脚 --></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -