首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 84 毫秒
1.
提出了一个有效的C 内存泄漏检测方法.方法在分析内存泄漏的基础上,通过重新实现动态内存分配和释放函数,记录内存分配的确切位置并跟踪动态内存的使用情况.在程序结束时,方法利用跟踪结果检测和定位内存泄漏.最后,通过在Windows和Linux平台上的实验验证了本文方法的有效性.  相似文献   

2.
本文探讨了C~(++)提供的动态内存分配机制,分析归纳了动态内存分配和释放函数;并举例说明如何避免类对象及结构的空间释放不完全问题。  相似文献   

3.
Linux下面向函数的动态内存泄漏监测   总被引:4,自引:1,他引:4  
动态内存泄漏是一个严重的编程错误,可以导致程序的错误行为。由于定位内存泄漏发生的位置是困难的,一些工具已被开发出来辅助程序员找出内存泄漏。论文提出了面向函数的动态内存泄漏监测的概念,阐述了它的必要性和有效性,并给出了在Linux下的实现。  相似文献   

4.
为了高效地管理内存,防止内存泄漏、越界访问等问题的出现,在分析传统动态内存管理机制的基础上,提出了一种基于Windows虚拟内存管理的高效动态内存管理机制.通过创建内存管理器来维护虚拟地址空间和处理内存申请和释放请求,改进了传统动态内存分配与回收算法,并在VC++6.0开发平台上实现了该动态内存管理机制.测试结果分析表明,该方法有效降低了申请与释放内存的时间耗费,减少了内存碎片的产生,提高了动态内存管理效率.  相似文献   

5.
C/C 语言中的动态内存管理机制自由且灵活,但动态内存的使用容易引入内存泄漏,导致系统性能降低甚至系统崩溃。为了更加有效的检测内存泄漏,提出了一个基于有界模型检测技术的C/C 程序内存泄漏检测方案MLD-CBMC。该方案以C/C 程序文件为输入,利用有界模型检测技术,对程序进行展开处理,加入内存泄漏性质,并利用可满足性模理论(SMT)对程序约束和性质组成的验证条件编码,使用SMT求解器对验证条件求解,将检测内存泄漏问题转换为求解可满足性问题,实现C/C 程序内存泄漏的检测。通过实验验证了方案的有效性,并与其他有界模型检测工具进行对比实验,实验证明方案对内存泄漏的检测能力更强。  相似文献   

6.
研究了实时操作系统的内存管理,总结了静态内存分配和动态内存分配的优缺点。介绍了实时操作系统SACOS的特点、体系结构和目标机系统的内存映射。描述了SACOS的动态内存管理,并给出了实现SACOS动态内存管理的基础-堆的分配与回收的详细过程。SACOS的动态内存管理方法可以有效地减少内存管理开销和内存碎片,提高内存的利用率。  相似文献   

7.
C语言动态内存操作错误的自动检测   总被引:1,自引:0,他引:1  
汤颢 《微电脑世界》1993,(10):22-24
该文指出了C程序动态内存分配、使用和释放过程中极易出现的各种错误类型,论述了错误自动检测的原理和方法,并给出了一个测试示例。  相似文献   

8.
C语言动态内存分配研究及应用   总被引:2,自引:0,他引:2  
介绍了C语言中几种内存分配方式,对几种方式的特点进行了对比,然后详细讨论了动态内存分配的实现方法,并分析了在实际应用中存在的问题,最后给出一个实例,说明动态内存分配在C语言程序设计方面的优越性。  相似文献   

9.
针对复杂嵌入式系统中的动态内存管理,提出了一种新的方法.将可以使用的动态内存划分成多个内存块组,每组中内存块大小相同,不同组的内存块大小不同.分配动态内存时可以按照需求,使用不同大小的内存块.根据这种新的划分方式,设计了相应的内存块管理链表的数据结构和动态内存的分配、释放算法.并在试验中使用了这种管理方法,给出了该方法和其它方法相比较的试验结果.  相似文献   

10.
一种嵌入式系统的内存分配方案   总被引:4,自引:0,他引:4  
实时性、可靠性的要求,使得许多嵌入式应用使用自己的内存管理程序。本文探讨嵌入式系统中对内存管理的要求、存在的问题以及可能的解决策略;介绍一种“一次分配,多次使用”的动态内存分配方法,并给出2个例子。  相似文献   

11.
为了解决程序设计中内存频繁的分配和释放所带来的性能瓶颈,在分析传统的池式内存管理机制的基础上,提出了若干算法改进。测试结果分析表明,该方法实现了内存的快速分配和释放,有效地解决了内存碎片和内存泄露检查等问题,提高了动态内存管理效率。  相似文献   

12.
一种适用于嵌入式系统的动态内存管理技术   总被引:5,自引:0,他引:5  
一种适用于嵌入式系统的动态内存管理技术———连续内存分配技术,它采用按请求空间的实际大小进行空间分配的方法,显著地提高了内存资源的利用率。  相似文献   

13.
嵌入式Linux平台内存管理方案   总被引:1,自引:0,他引:1  
不同的动态内存分配算法往往应用于不同场景、面向于不同业务,因此衡量指标不一,性能各异.针对多模式、多业务的数字电视终端,本文提出了一种嵌入式L inux平台内存管理方案,深入剖析了共享内存的原理及方法,采用共享内存技术支撑多业务开展,同时实现了一种使用二级索引策略的动态内存分配算法,复杂度为O(1),相比其他经典算法,实时性高而碎片率低,仿真性能良好,并在嵌入式平台上实施,取得了不错的效果.  相似文献   

14.
内存泄漏是软件开发中的一个难以定位和修正的严重错误。在大多数情况下,动态内存的有效域虽未明确写出,但仍是程序的局部;且程序动态运行的轨迹在一定程度上反映程序的静态性质。基于以上观察,开发了在面向函数定位框架中嵌入动态分析的内存泄漏监测新方法。新方法中,先建立程序的函数动态调用树,其中包含程序分配释放内存的信息,再在调用树中总结程序的静态性质,为内存泄漏定位提供有价值的信息。该文用两个实例展示这个方法的有效性。  相似文献   

15.
基于Linux的动态内存检测工具的设计与实现   总被引:2,自引:0,他引:2  
内存的动态内存使用问题是C/C++程序员永远面临的问题。针对内存管理和使用的各类错误,设计并实现一个基于Linux的动态内存检测模块,可以对源码程序检测出内存泄漏、内存写溢出、“野指针”操作和内存管理函数的不匹配等问题。实验结果表明,系统具有效率高、易用性好的特点。  相似文献   

16.
动态内存分配器是现代应用程序重要组成部分, 它负责管理空闲内存并处理用户内存请求. 现代通用动态内存分配器能够提供较为平衡的性能与内存利用率, 但考虑到不同应用场景的内存使用情况和优化目标不同, 使用通用内存分配器并非最优解. 针对应用场景定制的专用内存分配器通常能够更好地满足系统需要, 然而编写专用内存分配器较为费时, 也容易出错. 开发者通常使用内存分配框架搭建专用动态内存分配器. 然而, 现有的内存分配框架存在抽象能力较差, 组合性与定制性不足的问题. 为此, 从函数式编程视角审视动态内存分配过程, 基于函数可组合性提出了一种可组合的定制化动态内存分配器框架榫卯. 榫卯框架将系统内存分配抽象为多个互不耦合的内存分配层级函数的组合, 这些层级函数能够扩展出策略槽, 以提供更高的定制性和组合性. 榫卯框架基于标准C实现, 依赖C预处理器的元编程特性实现层级函数组合的零性能开销. 开发者能够通过组合与定制分配器的层级函数, 快速构建出适合应用场景的内存分配器. 为了证明榫卯框架的有效性, 使用榫卯框架构建了3种不同的内存分配器实例: tlsfcc, hslab与wfslab, 其中tlsfcc针对多核嵌入式应用场景, 通过替换同步策略优化并发吞吐率; hslab是核心感知的slab式分配器, 通过定制线程缓存优化在异构硬件的性能; wfslab是低延迟的无等待/无锁分配器. 为了评估这3种内存分配器实例, 通过运行基准测试对比现有内存分配器. 实验分别在8核x86/64平台和8核异构aarch64嵌入式平台进行. 实验表明tlsfcc与原始tlsf分配器相比, 在上述两个平台上分别取得了平均1.76和1.59的加速比; 对比hslab与类似架构的tcmalloc, 它在两个平台的平均执行时间仅为tcmalloc的69.6%和85.0%; wfslab则取得了参与实验对比的内存分配器中最小的最差情况内存请求延迟, 其中包括目前最先进的无锁内存分配器mimalloc和snmalloc.  相似文献   

17.
杨峰 《计算机工程》2010,36(9):85-86,89
在软件开发过程中,共享内存经常会遇到一个进程消耗太多内存导致其他进程无法得到需要内存的潜在问题,针对该问题,基于Linux内核实现一种动态内存管理机制,该机制能够限制每个进程所能申请的最大内存数,同时可以避免进程内存泄露造成的系统崩溃。实验结果表明,该机制效率高、且易用性好。  相似文献   

18.
杨峰 《计算机工程》2010,36(9):85-86,8
在软件开发过程中,共享内存经常会遇到一个进程消耗太多内存导致其他进程无法得到需要内存的潜在问题,针对该问题,基于Linux内核实现一种动态内存管理机制,该机制能够限制每个进程所能申请的最大内存数,同时可以避免进程内存泄露造成的系统崩溃。实验结果表明,该机制效率高、且易用性好。  相似文献   

19.
Java应用程序中大量使用动态内存。Java程序运行过程中会自动对不可达的动态内存进行回收,但不能及时地对应用程序中可达但不活跃的动态内存进行回收,从而造成内存泄漏。为有效地检测内存泄漏,提出了采用双向推导进行内存泄漏检测的方法,在推导的过程中利用分离逻辑理论对应用程序中的动态内存进行分析,确定到达程序中每条语句的可达的动态内存和活跃的动态内存,辅助完成动态内存泄漏的检测。  相似文献   

20.
一种基于VxWorks的内存分配算法   总被引:2,自引:0,他引:2  
研究了VxWorks系统内存分配算法,指出了常用内存管理算法的局限性,在此基础上,提出了一种改进的内存分配算法.改进的内存分配算法包括优化的内存块分配算法和快速高效的动态内存分配算法,两者结合使用将会有效提高嵌入式系统的性能.对改进内存算法的实现作了详细的介绍.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号