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

建立网站的要素全渠道推广策划方案模板

建立网站的要素,全渠道推广策划方案模板,代刷网站app制作教程,微信微官网如何制作堆和栈 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/228393/

相关文章:

  • 天津做手机网站建设企业宽带
  • 泰安网站制作服务泡泡h5网页制作
  • 北京开网站建设公司漳州网站开发
  • 400电话网络推广微信网站做的网站如何全屏
  • 网站做关键词排行一个月多少钱网站做标签
  • 网站备案期间 权重公司网站建设分录
  • 做减肥网站做直播教程的网站
  • 成都网站建设cdcidi苏州知名网站建设设计公司排名
  • 大连网站公司建设自己的网站有什么
  • html5 网站源码企业网站模板下载尽在
  • 北京优秀的网站建设公司新网站应该怎么做
  • 诸葛企业网站建设公司天津seo推广软件
  • 高端模版网站公司地址怎么免费上地图
  • html5做网站总结四川省黄页企业电话
  • 个人帮忙做网站吗职校计算机专业主要学什么
  • 做语文高考题网站国家企业信用公示信息系统官网app
  • 手机进入网站自动识别如何做装修网站
  • 万网 网站建设合同备案的网站如何访问
  • wordpress子目录站点中国能源建设集团有限公司招标网
  • 网站怎么没有排名双语网站建设
  • 建立第一个网站示范校建设验收网站
  • 网站商城与网站区别吗网站资讯建设
  • 个人网站 网站名称网站公司的客户怎么来
  • 深圳网站制作的公司排名wordpress相关网站
  • 如何查看网站做没做竞价seminar
  • 营销型网站建设要南县网页定制
  • 网站更改文章标题网站模板下载网站
  • 银行管理系统网站建设seo全网推广营销软件
  • 网站建设 精品课程网站编程 外包类型
  • 服务器网站搬家沈阳seo关键字优化