EDA365电子论坛网

标题: ucos 移植中说 C 语言无法保证堆栈的结构? [打印本页]

作者: Dollche    时间: 2022-12-20 10:12
标题: ucos 移植中说 C 语言无法保证堆栈的结构?
《ARM 微控制器基础与实战》中在 ucos 移植中说 C 语言无法保证堆栈的结构,请问这是什么含义
7 |4 w$ `5 X) G8 K: C( l
作者: 名字好听吗    时间: 2022-12-20 11:16
就是不能保证有哪些寄存器入栈及寄存器入栈的顺序.
作者: tick_tock    时间: 2022-12-20 13:45
堆则是一种经过排序的树形数据结构,常用来实现优先队列等。堆是一种特殊的完全二叉树。
作者: 风吹过后    时间: 2022-12-20 13:55
在 C 语言中,内存分配方式不外乎有如下三种形式:
. `4 L3 A6 x' }' X- w6 m1.从静态存储区域分配:它是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释放,如全局变量与 static 变量。* q4 A$ l8 z$ T
2.在栈上分配:它同样也是由编译器自动分配和释放的,即在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元将被自动释放。
& B4 _0 M, B% Q1 R8 O3.从堆上分配:也被称为动态内存分配,它是由程序员手动完成申请和释放的。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2