我在KEIL,MPLAB这2个编译器中,都定义了const变量。但是他们都是存放在RAM区域,并未放在flash区域。麻烦韦老师在空闲之余解答一下,为什么会这样?
因为在写一个项目,变量空间就4K,但是变量有点多,所以需要优化下变量。其中const常量有很多,但是发现他们也占用RAM空间,导致RAM不够用。
KEIL做了些优化,对于比较小的变量可能还是把它放在RAM里。
你可以试验:定义一个比较大的数组,就会放在flash区域了。
我在KEIL,MPLAB这2个编译器中,都定义了const变量。但是他们都是存放在RAM区域,并未放在flash区域。麻烦韦老师在空闲之余解答一下,为什么会这样?
因为在写一个项目,变量空间就4K,但是变量有点多,所以需要优化下变量。其中const常量有很多,但是发现他们也占用RAM空间,导致RAM不够用。
KEIL做了些优化,对于比较小的变量可能还是把它放在RAM里。
你可以试验:定义一个比较大的数组,就会放在flash区域了。