- 博客(10)
- 收藏
- 关注
原创 内存泄漏
<br />Windows平台上C++开发内存泄漏检查方法 充分的利用调试工具可以非常方便地避免内存泄漏问题。 这里介绍两种方法,互为补充,第一种是VC编译器提供的方法,第二种是专用的内存泄漏检查工具Memmory Validator。这两种方法的基本原理是一样的:内存分配要通过CRT在运行时实现,只要在分配内存和释放内存时分别做好记录,程序结束时对比分配内存和释放内存的记录就可以确定是不是有内存泄漏。其中,第一种方法重载了new操作符,第二种方法是替换了CRT运行时库,在用户程序与运行库之间加了一层,用于
2010-08-23 16:09:00 277
原创 明晰C++内存分配的五种方法的区别
<br />明晰C++内存分配的五种方法的区别<br /> <br />作者:未知 文章来源:网络 <script language="javascript" src="/Article/GetHits.asp?ArticleID=4172"></script> 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 <br /><br /> 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 <br
2010-08-23 16:09:00 236
原创 Windows平台上C++开发内存泄漏检查方法
<br />Windows平台上C++开发内存泄漏检查方法 充分的利用调试工具可以非常方便地避免内存泄漏问题。 这里介绍两种方法,互为补充,第一种是VC编译器提供的方法,第二种是专用的内存泄漏检查工具Memmory Validator。这两种方法的基本原理是一样的:内存分配要通过CRT在运行时实现,只要在分配内存和释放内存时分别做好记录,程序结束时对比分配内存和释放内存的记录就可以确定是不是有内存泄漏。其中,第一种方法重载了new操作符,第二种方法是替换了CRT运行时库,在用户程序与运行库之间加了一层,用于
2010-08-23 12:58:00 480
原创 C/C++内存管理之内存泄漏检查
<br />一. 概述<br /> 内存泄漏一直是软件开发人员最头大的问题之一,尤其像C/C++这样自由度非常大的编程语言,几乎是每一个用其开发出来的软件都会出现内存泄漏的情况。<br /> 如果没有内存泄漏,世界或许会变的美好。然而,完全美好的世界是不存在的,我们能做的就是尽量让它变的更美好。 <br />二. 工具介绍<br /> 纵观目前市面上有不少内存泄漏工具,在这里就不多做介绍。笔者最常用的是IBM公司出产的IBM Rational Purify,说起Purify这东西,
2010-08-23 12:19:00 312
原创 C 内存分配和释放均由用户代码自行控制
<br />背景<br /><br /> C 内存分配和释放均由用户代码自行控制,灵活的机制有如潘多拉之盒,即让程式员有了更广的发挥空间,也产生了代代相传的内存泄漏问题。对于新手来说,最常犯的错误就是new出一个对象而忘记释放,对于一般小应用程式来说,一点内存空间不算什么。但是当内存泄漏问题出现在需要24小时运行的平台类程式上的时候,将会使系统可用内存飞速减少,最后耗尽系统资源,导致系统崩溃。<br /><br /> 所以学会如何防止并检查内存泄漏,是个合格的c 程式员必须具备的能力。但是由于内存泄漏是
2010-08-23 12:17:00 391
原创 C/C++内存管理之内存泄漏检查
一. 概述 内存泄漏一直是软件开发人员最头大的问题之一,尤其像C/C++这样自由度非常大的编程语言,几乎是每一个用其开发出来的软件都会出现内存泄漏的情况。 如果没有内存泄漏,世界或许会变的美好。然而,完全美好的世界是不存在的,我们能做的就是尽量让它变的更美好。二. 工具介绍 纵观目前市面上有不少内存泄漏工具,在这里就不多做介绍。笔者最常用的是IBM公司出产的IBM Rational Purify,说起Purify这东西,稳定性虽然不怎么样,但功能很强
2010-08-23 12:15:00 477
原创 菜鸟也能搞定C 内存泄漏
<br />背景<br /><br /> C 内存分配和释放均由用户代码自行控制,灵活的机制有如潘多拉之盒,即让程式员有了更广的发挥空间,也产生了代代相传的内存泄漏问题。对于新手来说,最常犯的错误就是new出一个对象而忘记释放,对于一般小应用程式来说,一点内存空间不算什么。但是当内存泄漏问题出现在需要24小时运行的平台类程式上的时候,将会使系统可用内存飞速减少,最后耗尽系统资源,导致系统崩溃。<br /><br /> 所以学会如何防止并检查内存泄漏,是个合格的c 程式员必须具备的能力。但是由于内存泄漏是
2010-08-23 12:11:00 354
原创 内存溢出解决方法
<br />最近做了个任务,内存溢出问题;静态影像下无问题,可是在动态影像下执行rep时量测元素400-500笔时就会内存溢出,调试很久也无进展,求教各方圣神终无结果,最后找出一篇文章供大家赏阅。如遇到内存溢出问题时或许有点帮助。还有可以链接下载的内存检测工具1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。 <br />2. Dmalloc-Debug Malloc Library. <br />3. Electric Fenc
2010-08-23 12:07:00 968
原创 VC++内存泄漏定位(依赖MFC)(转载)
今天调试程序,发现有内存泄漏但是没有提示具体是哪一行,搞得我很头疼。结果在网上搜索了一些资料,经自己实践后整理如下: 第一种:通过"OutPut窗口"定位引发内存泄漏的代码(下面转,我写的没原文好,也懒得写)。我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp<br />{<br />public:<br /> BOOL InitApplication()<br /> {<br />
2010-08-20 12:11:00 277
转载 浅谈C/C++内存泄漏及其检测工具
对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比较成熟,但是在c/c++领域的发展并不顺畅,虽然很早就有人思考在C++中也加入GC的支持。现实世界就是这样的,作为
2010-08-20 12:02:00 287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人