Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个关于在 C 中存储常量的问题。
如果我有以下陈述:
const int a = 5;
如果语句在全局范围内,则常量将存储在 .rodata 中。我一直在为 MSP430 器件使用 TI 编译器。如果语句在本地范围内,则常量存储在 stack 中。
我不确定如果我在本地范围内将其声明为“静态常量”会发生什么,但我希望它存储在 .rodata 中。
这种行为正确吗?
没有“正确”的行为。平台、工具链类型和版本、操作系统、编译器和链接器设置都会对变量最终所在的部分产生巨大影响。
我已经看到static const被放入.text, .data,.sdata等。
static const
.text
.data
.sdata