堆区设置大小、变量存储区域

2019-07-21 00:57发布

一个其他人写的项目文件,在其中的一个.c文件中定义了一个超大的数组,static float LaserPointArray[201][6] = {0};        这个数组变量属于静态变量        ,静态变量、全局变量是存储在堆区的。在启动文件中堆区的大小是定义好的。Heap_Size       EQU     0x00000200 这样算来堆区的大小明显不满足需要的空间大小。但是程序不报错,并且能运行。为什么这样?另外堆栈都是属于RAM的,而RAM的空间大小是可以看到的。如下图所示: 截图未命名.jpg ,具有65536个字节大小,因此在启动文件中将Heap_Size       EQU     0x00000200通过更改0x00000200数据的大小是不是就可以直接更改堆区大小。堆区+栈区是不是就是RAM的空间大小,还是说堆区+栈区<=RAM的空间大小。理解这个概念才可以知道手动更改堆区大小,最大可以更改为多大。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。