用Keil C51写程序 没有全局变量 为什么还会有RAM占有量 并且主程序调用不同的子函数RAM占有量不同

发布网友 发布时间:2022-04-23 09:27

我来回答

4个回答

热心网友 时间:2023-10-09 12:17

简单的解释是,函数调用的时候,是需要建立局部变量的位置存储的,这个就是一般的stack。动态分配的内存,则是放在heap里面。假设没有这个stack的分配,那么函数调用的时候,你把这些局部变量放在哪里呢?

热心网友 时间:2023-10-09 12:18

Keil C51的函数默认不支持重入,所以所谓局部变量(包括寄存器无法存放的参数)都是以全局变量的形式存放的。

热心网友 时间:2023-10-09 12:18

这个data是在极端情况下,KEIL遍历程序后计算出来的RAM最大使用量,就是你程序使用RAM的峰值。所以这个大小与释放没有关系,只是供你选择CPU型号时做参考。

热心网友 时间:2023-10-09 12:19

那个RAM是单片机需要提供的最小RAM数

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com