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的編譯規則,後續有時間將深入研究...