3
我有一个关于在C常量存储问题的存储用C局部常量
如果我有下面的语句:
const int a = 5;
如果语句是在全球范围内,不断将存储在.rodata中。 我一直在使用适用于MSP430器件的TI编译器。如果语句在本地范围内,则常量将存储在堆栈中。
我不确定如果我将它声明为局部范围内的“静态常量”会发生什么情况,但我希望它会存储在.rodata中。
此行为是否正确?
我有一个关于在C常量存储问题的存储用C局部常量
如果我有下面的语句:
const int a = 5;
如果语句是在全球范围内,不断将存储在.rodata中。 我一直在使用适用于MSP430器件的TI编译器。如果语句在本地范围内,则常量将存储在堆栈中。
我不确定如果我将它声明为局部范围内的“静态常量”会发生什么情况,但我希望它会存储在.rodata中。
此行为是否正确?
没有“正确的”行为。平台,工具链类型和版本,操作系统,编译器和连接器设置对部分变量将在结束所有巨大的影响力。
我见过static const
被放在.text
,.data
,.sdata
等
我不了解TI编译器,但大多数编译器都会将'const int a = 5;'看作类似于#define a 5的格式,而不是将其存储在任何地方。 –