c - 如何通过良好的设计保留堆栈空间?

标签 c memory embedded stack rtos

我正在用 C 语言为带有 RTOS 的 RAM 受限嵌入式微 Controller 编程。

我经常将我的代码分解为短函数,但每个函数调用都需要更多的堆栈内存。 每个任务都需要他的堆栈,这是项目中重要的内存消耗者之一。

是否有替代方法可以使代码保持良好的组织性和可读性,同时保留内存?

最佳答案

尽量让调用栈更平坦,所以不要调用 a() 调用 b() 调用 c() 调用 d(),让 a() 调用 b()c()d( ) 本身。

如果一个函数只被引用一次,标记它inline(假设你的编译器支持这个)。

关于c - 如何通过良好的设计保留堆栈空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/135262/

相关文章:

c - 类型转换的未定义行为?

java - OpenJDK 客户端 VM - 无法分配内存

c - 在 Linux 中使用 c 私有(private)内存使用量不断增加

c++ - 与 at() 或索引相比,为什么使用 C++ 迭代器会显着增加代码大小?

c++ - 安全编码实践

c - 这是静态内存分配还是动态内存分配的例子?

arrays - 如何创建一个函数通过输入数组的大小来输出躺着的沙漏

C - 一个程序可以为自己分配多少内存 - 它是如何确定的?

linux - 单个进程的看门狗[Linux]

c - 矩阵乘法无法编译