当前位置: 首页 > news >正文

联通专线做网站wordpress+模版+推荐

联通专线做网站,wordpress+模版+推荐,一步步教会你怎么做网站,移动端页面模板栈由操作系统自动分配释放 #xff0c;用于存放函数的参数值、局部变量等#xff0c;其操作方式类似于数据结构中的栈 1. 函数中定义的局部变量按照先后定义的顺序依次压入栈中,也就是说相邻变量的地址之间不会存在其它变量。 2. 栈的内存地址生长方向与堆相反#xff0c;由…栈由操作系统自动分配释放 用于存放函数的参数值、局部变量等其操作方式类似于数据结构中的栈 1. 函数中定义的局部变量按照先后定义的顺序依次压入栈中,也就是说相邻变量的地址之间不会存在其它变量。 2. 栈的内存地址生长方向与堆相反由高到底所以后定义的变量地址低于先定义的变量 3. 栈中存储的数据的生命周期随着函数的执行完成而结束 堆由程序员分配释放 若程序员不释放程序结束时由OS回收分配方式倒是类似于链表 1. 堆的内存地址生长方向与栈相反由低到高但需要注意的是后申请的内存空间并不一定在先申请的内存空间的后面 原因是先申请的内存空间一旦被释放后申请的内存空间则会利用先前被释放的内存从而导致先后分配的内存空间在地址上不存在先后关系   关于堆上内存空间的分配过程: 1. 操作系统有一个记录空闲内存地址的链表 2. 当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆节点 3. 将该节点从空闲节点链表中删除并将该节点的空间分配给程序 对于大多数系统会在这块内存空间中的首地址处记录本次分配的大小这样代码中的delete语句才能正确地释放本内存空间。 由于找到的堆节点的大小不一定正好等于申请的大小系统会自动的将多余的那部分重新放入空闲链表。   堆与栈区别:堆与栈实际上是操作系统对进程占用的内存空间的两种管理方式主要有如下几种区别1管理方式不同。栈由操作系统自动分配释放无需我们手动控制堆的申请和释放工作由程序员控制容易产生内存泄漏 2空间大小不同。每个进程拥有的栈的大小要远远小于堆的大小。理论上程序员可申请的堆大小为虚拟内存的大小进程栈的大小64bits的Windows默认1MB64bits的Linux默认10MB 3生长方向不同。堆的生长方向向上内存地址由低到高栈的生长方向向下内存地址由高到低。 4分配方式不同。堆都是动态分配的没有静态分配的堆。         栈有2种分配方式               静态分配和动态分配。静态分配是由操作系统完成的比如局部变量的分配。               动态分配由alloca函数进行分配但是栈的动态分配和堆是不同的他的动态分配是由操作系统进行释放无需我们手工实现 5分配效率不同。          栈由操作系统自动分配会在硬件层级对栈提供支持分配专门的寄存器存放栈的地址压栈出栈都有专门的指令执行这就决定了栈的效率比较高。          堆则是由C/C提供的库函数或运算符来完成申请与管理实现机制较为复杂频繁的内存申请容易产生内存碎片。显然堆的效率比栈要低得多。 6存放内容不同。栈存放的内容函数返回地址、相关参数、局部变量和寄存器内容等。当主函数调用另外一个函数的时候要对当前函数执行断点进行保存需要使用栈来实现         首先入栈的是主函数下一条语句的地址即扩展指针寄存器的内容EIP然后是当前栈帧的底部地址         即扩展基址指针寄存器内容EBP再然后是被调函数的实参等一般情况下是按照从右向左的顺序入栈         之后是被调函数的局部变量注意静态变量是存放在数据段或者BSS段是不入栈的。出栈的顺序正好相反         最终栈顶指向主函数下一条语句的地址主程序又从该地址开始执行。堆一般情况堆顶使用一个字节的空间来存放堆的大小而堆中具体存放内容是由程序员来填充的。 从以上可以看到堆和栈相比 堆: 由于大量malloc()/free()或new/delete的使用容易造成大量的内存碎片并且可能引发用户态和核心态的切换效率较低 栈: 在程序中应用较为广泛最常见的是函数的调用过程由栈来实现函数返回地址、EBP、实参和局部变量都采用栈的方式存放。       虽然栈有众多的好处但是由于和堆相比不是那么灵活有时候分配大量的内存空间主要还是用堆   无论是堆还是栈在内存使用时都要防止非法越界越界导致的非法内存访问可能会摧毁程序的堆、栈数据轻则导致程序运行处于不确定状态获取不到预期结果重则导致程序异常崩溃这些都是我们编程时与内存打交道时应该注意的问题 参考资料: https://blog.csdn.net/K346K346/article/details/80849966转载于:https://www.cnblogs.com/allenhaozi/p/11109788.html
http://www.zqtcl.cn/news/41082/

相关文章:

  • php建设网站工具蜗牛星际做网站服务器
  • 乌兰察布市建设银行网站淄博网站建设价格
  • 电子商务网站建设与设计网站制作公司排名前十
  • 做一个网站怎么赚钱免费php开源建站系统
  • 网站设计开发建设公司免费软文推广平台
  • vs2015 asp网站开发建设银行+贷款+查询+网站
  • 宿迁建设公司网站网站文字专题页面怎么做的
  • 越秀区建设局网站东莞原创设计院官网
  • 电脑做apk的网站h5北京pk10网站开发
  • 毕业设计某网站开发的开题报告范文中文企业网站模板html
  • 厦门网站建设2福建住房和城乡建设厅网站一体化平台
  • 建站公司最新报价服务器搭建网站能ping t
  • 做网站用什么系统社区网站建设费用
  • 哈尔滨建站系统android网站开发实例教程
  • 博客做单页网站网站备案审核通过时间
  • 国外黄冈网站推广软件免费吗广东省自然资源厅胡建斌
  • 某qq非主流个性网源码qq空间网站源码dede内核+采集规则pinterest设计网站
  • 网站建设企业建站要多久安徽六安特产有哪些
  • 东莞seo优化方案seo优化方式包括
  • 哈尔滨网站建设乙薇网站 分站
  • 江苏省和住房城乡建设厅网站商城网站如何做
  • 投资公司网站建设需求网站直接访问
  • 开一个网站要花多少钱杭州网站外包
  • 城乡建设管理局的网站电脑商城网站源码
  • 怒江网站制作优化快速排序
  • 网站建设实现用户登录wordpress otp
  • 北京门户网站建设百度竞价排名点击软件
  • 医院电子网站建设快三直播app下载平台
  • 网站加载很慢网络设计原则有哪些
  • 求一个做交通分析的底图网站seo行业