关于C语言【全局变量】与【全局常量】在STM32中储存方式的区别

2019-10-15 20:18发布

本人在使用 STM32液晶屏的时候,在工程里面 写入了一个 u16 a[]={这张图片的RGB565代码,1万个数据};
编译后 HEX文件有 88KB 1.png
后来 试着 在数组前面增加了一个 const修饰 , const u16 a[]={这张图片的RGB565代码,1万个数据};
编译后 HEX文件约200KB 2.png

3.png
4.png

搞不明白的是 这100多KB差别在哪里。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
22条回答
jinggx
2019-10-17 13:15
有const编译后放在RO-data中,无const编译后放在RW-data中,两种情况烧录在芯片中所占的FLASH大小几乎相等。再说一遍:hex文件的大小与烧录到芯片里的程序大小没有关系。虽说是常识,却不停地有人误解,总认为hex就是程序的大小。还有,还有谁非要固执地认为hex和bin文件大小有关联。那我也不想多说了。。。。

一周热门 更多>