![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存管理
BetaGarf
这个作者很懒,什么都没留下…
展开
-
CPU初探
CPU初探一、CPU的架构体系1、冯诺依曼结构:数据和指令统一编址2、哈佛结构:数据和指令独立编址3、下面是对上图的几个引申知识点:二、CPU简介三、CPU运行原理一、CPU的架构体系目前市场上的CPU架构体系主要分为冯诺依曼结构和哈佛结构两类。其中,x86架构本质上就是冯诺依曼结构,ARM架构本质上就是哈佛结构。前者广泛应用在PC端,比如主机、笔记本、服务器等;比如后者主要应用在移动端,比如...原创 2019-12-05 16:39:32 · 515 阅读 · 0 评论 -
【C++内存管理之四】动态内存管理
1、内存耗尽怎么办1、判断指针是否为NULL,并用retuen语句终止。2、判断指针是否为NULL,并用exit(1)函数终止。3、设置new和malloc异常处理函数。_set_new_hander函数为异常处理函数2、有了malloc/free为什么还要new/delete1、malloc/free是c/c++的标准库函数适合内部数据类型,无法满足动态对象的要求。因为创建对象时需要...原创 2019-10-25 08:37:34 · 491 阅读 · 0 评论 -
【C++内存管理之三野指针、内存泄漏、内存覆盖及应对策略
文章目录1、内存分配失败2、内存没有初始化3、内存操作越界4、内存没有释放5、内存释放后继续使用发生内存错误时间非常麻烦的事情。编译器不能发现这些错误,只能在程序运行时才能捕捉到。1、内存分配失败内存分配失败却使用了它指针p为函数参数,在函数入口处进行检查:assert(p != NULL);new或malloc申请内存进行判断:if(p == NULL)2、内存没有初始化3...原创 2019-10-22 23:12:31 · 1259 阅读 · 0 评论 -
【C++内存管理之一】内存结构简介
文章目录一、内存结构简介1、内存分配方式1、栈2、堆3、自由存储去4、全局区(静态区)5、常量区2、堆栈的区别1、举个栗子2、区别一、内存结构简介C++的内存结构,主要分为五个区域:栈区、堆区、全局区(静态区)、常量区、代码区。扩展链接堆栈大小设置1、内存分配方式1、栈1、由编译器和操作系统管理;2、函数执行开始时,函数内的局部变量存储在栈中;函数执行结束时,这些存储单元自动被释...原创 2019-10-22 19:04:18 · 3690 阅读 · 2 评论