首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >__declspec分配范围

__declspec分配范围
EN

Stack Overflow用户
提问于 2014-05-01 21:22:35
回答 2查看 408关注 0票数 1

在C++中,我感兴趣的是将指针变量声明为只读变量,并考虑通过以下机制这样做:

代码语言:javascript
复制
#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?有什么办法改变范围吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-01 21:25:37

完整的语法是:

代码语言:javascript
复制
 __declspec(allocate("segname")) declarator

因此,它只适用于下面的声明,在您的示例中,只有g_pROData受到影响,并在名为.readonly的段中分配。如果需要在该段中分配更多的变量,则必须对每个变量重复声明。

票数 1
EN

Stack Overflow用户

发布于 2014-05-01 21:26:51

__declspec总是直接耦合到它前面的“对象”。

但是,您确定要有一个只读的void *吗?好的是,你甚至不能将指针设置为某物。您的意思是希望指针指向只读部分吗?或者至少是初始化,例如VOID* g_pROData = ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23416861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档