在C++的,我感興趣的聲明指針變量爲只讀,和我正在考慮這樣做,通過以下機制:範圍__declspec分配
#pragma section (".readonly", read)
__declspec(allocate(".readonly"))
VOID* g_pROData; // I want this to be read-only
VOID* g_pRWData; // I want this to be read-write
不過,我不知道的__declspec語句的範圍。它只包含g_pROdata,還是會包含g_pRWData?有什麼方法可以改變範圍嗎?
謝謝。
const const –
@ Cheersandhth.-Alf'const'不能保證是隻讀的 - 你可以(通常)將一個指針指向一個const數據項並寫入它。有時候你不能這樣做,實際上這是不確定的行爲,但是UB並不是任何有意義的行爲的保證,正如你可能已經知道的那樣。 –
@MatsPetersson:這聽起來很合理,除了OP使用visual C++特定的指令。和Visual c + + [「常量變量的.obj文件中的默認段是.rdata」](http://msdn.microsoft.com/en-us/library/1dc22465.aspx),在那裏我瞭解rdata by默認是隻讀部分。 –