﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-VcHelp</title><link>http://www.cppblog.com/qfkongyan/</link><description>Vc爱好者</description><language>zh-cn</language><lastBuildDate>Sun, 08 Mar 2026 21:42:09 GMT</lastBuildDate><pubDate>Sun, 08 Mar 2026 21:42:09 GMT</pubDate><ttl>60</ttl><item><title>[资料收藏]C/C++程序内存泄漏检测 </title><link>http://www.cppblog.com/qfkongyan/archive/2006/02/28/3562.html</link><dc:creator>努力追求</dc:creator><author>努力追求</author><pubDate>Tue, 28 Feb 2006 01:05:00 GMT</pubDate><guid>http://www.cppblog.com/qfkongyan/archive/2006/02/28/3562.html</guid><wfw:comment>http://www.cppblog.com/qfkongyan/comments/3562.html</wfw:comment><comments>http://www.cppblog.com/qfkongyan/archive/2006/02/28/3562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qfkongyan/comments/commentRss/3562.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qfkongyan/services/trackbacks/3562.html</trackback:ping><description><![CDATA[<H2><A id=viewpost1_TitleUrl HREF="/edog/archive/2006/02/15/3268.html"><FONT color=#223355>C/C++程序内存泄漏检测</FONT></A> </H2>
<DIV class=postbody>
<P><STRONG>1. 包含头文件和定义：<BR></STRONG>#define _CRTDBG_MAP_ALLOC<BR>#include &lt;stdlib.h&gt;<BR>#include &lt;crtdbg.h&gt;<BR>如果定义了_CRTDBG_MAP_ALLOC，打印出来的是文件名和行数等更加直观的信息。<BR><STRONG><BR>2. 方法一<BR></STRONG>在程序入口写几个语句：<BR>&nbsp;int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );<BR>&nbsp;tmpFlag |= _CRTDBG_LEAK_CHECK_DF;<BR>&nbsp;_CrtSetDbgFlag( tmpFlag );<BR>程序退出时，如果发现有内存泄漏，会自动在DEBUG OUTPUT窗口和DebugView中输出内存泄漏信息。<BR><BR><STRONG>3. 方法二<BR></STRONG>在程序任何地方用以下语句：<BR>_CrtDumpMemoryLeaks();<BR>随时检测打印内存泄漏信息，如果有的话。不过此用法有个局限，对于一些全局函数，如果初始化时申请了内存，到程序结束时候才释放，此函数会一直把新申请的内存当作泄漏来对待。<BR><BR><STRONG>4. 方法三</STRONG><BR>使用_CrtMemCheckpoint方法，在某段程序中统计泄漏信息。如下：<BR>&nbsp;_CrtMemState s1, s2, s3;<BR>&nbsp;_CrtMemCheckpoint( &amp;s1 );<BR>&nbsp;<BR>&nbsp;// 程序段1：DO SOMETHING</P>
<P>&nbsp;_CrtMemCheckpoint( &amp;s2 );<BR>&nbsp;if ( _CrtMemDifference( &amp;s3, &amp;s1, &amp;s2) ) <BR>&nbsp;&nbsp;_CrtMemDumpStatistics( &amp;s3 );</P>
<P>可以统计程序段1中是否发生了内存泄漏。</P></DIV><img src ="http://www.cppblog.com/qfkongyan/aggbug/3562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qfkongyan/" target="_blank">努力追求</a> 2006-02-28 09:05 <a href="http://www.cppblog.com/qfkongyan/archive/2006/02/28/3562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C/C+语言struct深层探索 (转自CSDN)</title><link>http://www.cppblog.com/qfkongyan/archive/2005/12/13/1709.html</link><dc:creator>努力追求</dc:creator><author>努力追求</author><pubDate>Tue, 13 Dec 2005 03:05:00 GMT</pubDate><guid>http://www.cppblog.com/qfkongyan/archive/2005/12/13/1709.html</guid><wfw:comment>http://www.cppblog.com/qfkongyan/comments/1709.html</wfw:comment><comments>http://www.cppblog.com/qfkongyan/archive/2005/12/13/1709.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/qfkongyan/comments/commentRss/1709.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qfkongyan/services/trackbacks/1709.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1. struct的巨大作用　　面对一个人的大型C/C++程序时，只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序，势必要涉及一些(甚至大量)进行数据组合的结构体，这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说，会不会用struct，怎样用struct是区别一个开发人员是否具备丰富开发经历的标志。　　在网络协议、通信控制、嵌...&nbsp;&nbsp;<a href='http://www.cppblog.com/qfkongyan/archive/2005/12/13/1709.html'>阅读全文</a><img src ="http://www.cppblog.com/qfkongyan/aggbug/1709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qfkongyan/" target="_blank">努力追求</a> 2005-12-13 11:05 <a href="http://www.cppblog.com/qfkongyan/archive/2005/12/13/1709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>