ARM技术论坛
直播中

贾埃罗

8年用户 1802经验值
私信 关注
[问答]

ucos移植中说C语言无法保证堆栈的结构是什么意思?

《ARM微控制器基础与实战》中在 ucos 移植中说 C 语言无法保证堆栈的结构,请问这是什么含义

回帖(3)

YYXIAO

2023-2-28 14:29:56
就是不能保证有哪些寄存器入栈及寄存器入栈的顺序.
举报

hsdou月半

2023-2-28 14:30:05
堆则是一种经过排序的树形数据结构,常用来实现优先队列等。堆是一种特殊的完全二叉树。
举报

YYXIAO

2023-2-28 14:30:16
在 C 语言中,内存分配方式不外乎有如下三种形式:
1.从静态存储区域分配:它是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释放,如全局变量与 static 变量。
2.在栈上分配:它同样也是由编译器自动分配和释放的,即在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元将被自动释放。
3.从堆上分配:也被称为动态内存分配,它是由程序员手动完成申请和释放的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分