在C++中,我感兴趣的是将指针变量声明为只读变量,并考虑通过以下机制这样做:
#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?有什么办法改变范围吗?
谢谢。
发布于 2014-05-01 21:25:37
完整的语法是:
__declspec(allocate("segname")) declarator因此,它只适用于下面的声明,在您的示例中,只有g_pROData受到影响,并在名为.readonly的段中分配。如果需要在该段中分配更多的变量,则必须对每个变量重复声明。
发布于 2014-05-01 21:26:51
__declspec总是直接耦合到它前面的“对象”。
但是,您确定要有一个只读的void *吗?好的是,你甚至不能将指针设置为某物。您的意思是希望指针指向只读部分吗?或者至少是初始化,例如VOID* g_pROData = ...
https://stackoverflow.com/questions/23416861
复制相似问题