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的格式,而不是將其存儲在任何地方。 –