×
嵌入式 > 技术百科 > 详情

STM8S的堆和栈说明

发布时间:2024-06-17 发布时间:
|

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

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

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


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


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
BSS138LT1G是一款表面安装50VN沟道功率MOSFET