1,const修饰的变量存储在RO-data区,初始化的全局变量在RW-data区;KEIL版本:5.27;平台:STM32
2,在main.c文件中定义如下
如上,arry[100],temp[100],string[]为常量,在RO-data区;temp1为初始化的全局变量在RW-data区
3,只是在main.c中定义了以上变量,不做任何使用,编译不会分配任何空间
4,若在main.c中调用任何变量
则该文件中的同类型的变量都会被编译并分配空间(即调用一个const变量,则该文件中的其他未使用的const变量也都会被编译,全局变量也是如此,其他文件中的变量使用也是如此)
5,map文件中的变量分配如下
以上编译规则,是在开发中验证得出,没有查到keil的具体编译规则和C的编译规则,后续有时间将深入研究...