我有一个关于在C中存储常量的问题。
如果我有以下声明:
const int a = 5;
如果语句在全局范围内,则常量将存储在.rodata中。 我一直在使用用于MSP430器件的TI编译器。如果语句在本地范围内,则常量将存储在堆栈中。
我不确定如果我在本地范围内将其声明为“静态const”会发生什么,但我希望它存储在.rodata中。
这种行为是否正确?
答案 0 :(得分:1)
没有“正确”的行为。平台,工具链类型和版本,操作系统,编译器和链接器设置对变量最终会产生的部分产生巨大影响。
我已将static const
放入.text
,.data
,.sdata
等等。