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

正规制作网站公司哪家好广州建设工程交易中心 吴林爽

正规制作网站公司哪家好,广州建设工程交易中心 吴林爽,现在都用什么做网站,装修之家堆和栈 1. 堆 堆就是空闲的一块内存,可以通过malloc申请一小块内存,用完之后使用再free释放回去。管理堆需要用到链表操作。 比如需要分配100字节,实际所占108字节,因为为了方便后期的free,这一小块需要有个头部记录…

堆和栈

1. 堆

堆就是空闲的一块内存,可以通过malloc申请一小块内存,用完之后使用再free释放回去。管理堆需要用到链表操作。

比如需要分配100字节,实际所占108字节,因为为了方便后期的free,这一小块需要有个头部记录size和next_free指针,各占4字节。

若果再想分配内存,可以找到空闲内存的第一个块,如果第一个块不够。就可以继续找下一块,例如使用已经被释放了的块。如果还是不够,那就申请失败。

在这里插入图片描述

2. 栈

也是一块内存空间,CPU的SP寄存器指向它,它可以用于函数调用、局部变量、多任务系统里保存现场。
通过反汇编代码能更好的理解栈。

函数调用

在这里插入图片描述
C函数入口处,先划分自己的栈,再保存LR进内存的栈里,保存局部变量。例如,下图中的a_func中R0就是局部变量
在这里插入图片描述

局部变量

在这里插入图片描述

每个RTOS任务都有自己的栈

对于两个任务A、B,A运行一阵子,切换到B运行;再切换到A,再切换到B······

Task_A(){int cnt=0;while(1){cnt=b_func(cnt);}
}Task_B(){int cnt=100;while(1){cnt=b_func(cnt);}
}
切换Task_A

在被切换出去时保存所有寄存器
在这里插入图片描述
Task_A的栈
在这里插入图片描述
Task_B和Task_A的切换和恢复过程相同。

恢复Task_A

找到A的结构体,得到A的SP,从保存现场里先恢复寄存器,再恢复PC。
在这里插入图片描述
每个任务都使用到b_func函数,但是调用关系、局部变量、“保存现场”不同,所以不同的任务都要有自己的栈来分别保存。

http://www.yayakq.cn/news/380171/

相关文章:

  • app企业网站广告公司策划
  • 做网站实训目的和意义微信网页登录
  • 西安做网站一般多少钱优化设计四年级下册数学答案
  • 建设电商网站流程wordpress获取twitter内容
  • 自己买服务器能在wordpress建网站wordpress 修改路径
  • 娄底网站建设报价建立门户公司网站
  • 营销做网站公司杭州萧山区专门做网站的公司
  • 江门建站价格wordpress wordpress获取当前页面的父类id
  • 手机网站怎么设计深圳做网站排名公司
  • 绍兴建设用地使用权网站怎么做网站做站点
  • 建筑网站大全玻璃网站排名与什么有关系
  • 枣庄定制网站建设制作网站推广网
  • 建设自己网站软件下载浏览器2345
  • 网站推广 排名电子商务网站推广方法
  • 湖北分行建设银行网站免费源码下载
  • 有没有免费的微网站wordpress算数验证码
  • 如何做网站 知乎wordpress cufon
  • 哈尔滨营销型网站建设青柠影院观看免费高清电视剧
  • 怎样用ps做网站首页图十大免费网站推广平台
  • 文明网站建设工作进度表wordpress建站教程简书
  • 金昌网站seo天津网站建设 泰姆仕
  • 福州市有哪些制作网站公司保定网站建设推广公司怎么样
  • 企业电子商务网站开发实训目的网站建设公司不挣钱的原因
  • 搭建一个网站的步骤asp网站做seo
  • tp框架做的图片网站wordpress注册老是显示404
  • wordpress 音乐模板专业做网站优化价格
  • 个人站长和企业网站提供手机网站建设企业
  • 恒丰建设集团有限公司 网站wordpress 插件评论区
  • 漯河网站建设公司wordpress h5幻灯片
  • 开源企业网站程序桂林旅游几月份去最好