摩尔芯闻 > 行业新闻 > 半导体 > STM8S的堆和栈说明

STM8S的堆和栈说明

eefocus ·2020-03-15 00:00·电子工程世界
阅读:1535

STM8数据手册给出了堆栈的位置及大小。

栈是从高到低分配,堆是从低到高分配。

在这里插入图片描述

堆栈是内存中一段连续的存储区域,用来保存一些临时数据。堆栈又分为栈区(stack)和堆区(Heap)。平常说的堆栈都是指栈,栈区(stack)保存一些局部变量、临时变量,由系统自动分配空间;堆区(Heap)由用户自己分配,比如使用malloc开辟空间,使用free释放空间。栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉,不可以再访问。而堆上的数据只要程序员不释放空间,就一直可以访问到,不过缺点是一旦忘记释放会造成内存泄露。


栈区和堆区的大小在IAR中默认是各分配256个字节,堆栈总共是512个字节,具体如何分配看个人实际情况,比如不开辟内存空间,可以考虑把堆区空间减少,栈区空间增大,以防止由于定义变量过多造成栈区空间溢出:

在这里插入图片描述

关键字: STM8S 堆 栈 编辑:什么鱼 引用地址: http://news.eeworld.com.cn/mcu/ic491605.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
分享到:
微信 新浪微博 QQ空间 LinkedIn

上一篇:51单片机【一】背景 计时器

下一篇:STVD TIM4 8位中断定时器

打开摩尔直播,更多新闻内容
半导体大咖直播分享高清观看
立即下载