
内存
文章平均质量分 53
Hello,C++!
这个作者很懒,什么都没留下…
展开
-
windows下内存检测工具
1、Intel的Parallel Inspector工具,和vs集成超好, 而且还带了线程检测工具.2、Purify3、CodeGuard4、MemCheck5、Valgrind6、Insure++原创 2019-05-28 16:22:24 · 5120 阅读 · 2 评论 -
c++智能指针内存泄漏的问题
使用弱引用wak_ptr来解决智能指针内存泄漏的例子template <class T>class WeakedPtr;template<class T>class SharePtr{public: friend class WeakedPtr<T>; SharePtr(T* ptr = NULL) :_ptr(ptr), _r...原创 2019-05-07 10:57:56 · 1429 阅读 · 0 评论 -
Protobuf使用不当导致的程序内存上涨问题
protocol buffers[1]是google提供的一种将结构化数据进行序列化和反序列化的方法,其优点是语言中立,平台中立,可扩展性好,目前在google内部大量用于数据存储,通讯协议等方面。PB在功能上类似XML,但是序列化后的数据更小,解析更快,使用上更简单。用户只要按照proto语法在.proto文件中定义好数据的结构,就可以使用PB提供的工具(protoc)自动生成处理数据的代码,使...转载 2020-03-30 00:19:00 · 3026 阅读 · 0 评论 -
C++内存管理--2
1.1.5 指针参数是如何传递内存的?如果函数的参数是一个指针,不要指望用该指针去申请动态内存。如下示例中,Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是NULL,为什么?void GetMemory(char *p, int num){ p = (char *)malloc(sizeof(char) * num);}void Tes...转载 2018-10-24 16:33:06 · 140 阅读 · 0 评论 -
几种内存泄露检测工具的比较
概述内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,在大型的、复杂的应用程序中,内存泄漏是常见的问题。当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,这时就出现了内存泄漏。尽管优秀的编程实践可以确保最少的泄漏,但是根据经验,当使用大量的函数对相同的内存块进行处理时,很可能会出现内存泄漏。内存泄露可以分为以下几类:1. 常发性内存泄...转载 2019-05-28 16:25:28 · 27371 阅读 · 0 评论 -
C++内存管理-1
1.1 C++内存管理详解1.1.1 内存分配方式1.1.1.1 分配方式简介 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆,就是那些由new分配的内存块,他们的释...转载 2018-10-24 16:13:41 · 153 阅读 · 0 评论 -
PCLINT 简介
PCLINT是Gimpel Software公司推出LINT系列产品之一,运行于PC平台,是对C和C++源程序进行错误检查的软件包。它的基本工作原理是进行源代码分析,值跟踪,类型检查,并进行比一般的C/C++编译器更深入的语义分析工作,从而规避可能的软件缺陷。从本质上说,LINT是一种功能单一的代码静态分析工具。PCLINT不但可以检测单个文件,也可以从整个项目的角度来检测问题,因为C语言编译器......原创 2018-12-07 17:11:29 · 3181 阅读 · 1 评论