搜索
当前位置: sk彩票 > 堆栈 >

STM32 KEIL下的堆栈设置问题

gecimao 发表于 2019-05-27 14:45 | 查看: | 回复:

  上,会心疼死了,这1600多的RAM跑哪儿去了,分析map,你会发现是堆和栈占用的

  在startup_stm32f10x_md.s文件中,它的前面几行就有以上定义,这下该明白了吧。

  (1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似

  (2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配

  (3)全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统自动释放。

  stack的空间由操作系统自动分配/释放,heap上的空间手动分配/释放。

  程序在编译期和函数分配内存都是在栈上进行,且程序运行中函数调用时参数的传递也是在栈上进行。

本文链接:http://moodyjews.net/duizhan/458.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部