3

我有一个关于在 C 中存储常量的问题。

如果我有以下陈述:

const int a = 5;

如果语句在全局范围内,则常量将存储在 .rodata 中。我一直在为 MSP430 器件使用 TI 编译器。如果语句在本地范围内,则常量存储在 stack 中。

我不确定如果我在本地范围内将其声明为“静态常量”会发生什么,但我希望它存储在 .rodata 中。

这种行为正确吗?

4

1 回答 1

1

没有“正确”的行为。平台、工具链类型和版本、操作系统、编译器和链接器设置都会对变量最终所在的部分产生巨大影响。

我已经看到static const被放入.text, .data,.sdata等。

于 2012-11-17T08:47:56.900 回答