c++ 预处理指令 data_seg, section 用法介绍
来源:互联网 发布:内网端口转发 编辑:程序博客网 时间:2024/06/03 19:17
参考资料: https://msdn.microsoft.com/en-us/library/d9x1s805.aspx
1. data_seg
#pragma data_seg(".test")int g_test1 = 5;int g_test2 = 5;#pragma data_seg()#pragma comment(linker, "/SECTION:.test,RW")int g_another = 5;
结果: g_test1 和 g_test2 被分配到 .test 段中, g_another 被分配到默认的 .data 段中
2. section
#pragma section(".test", read, write)__declspec(allocate(".test")) int g_test1 = 5;#pragma section(".test", read, write)__declspec(allocate(".test")) int g_test2 = 8;int g_another = 5;
另外如果希望在程序中可以修改const变量, 则必须把const变量分配到可读写的自定义段中, 而不是默认的只读数据段中!
具体方法如下:
#pragma section(".handler", read, write)__declspec(allocate(".test")) const int g_test = 8;
或者
#pragma data_seg(".data")__declspec(allocate(".data")) const QtMsgHandler g_pOldHandler = NULL;#pragma data_seg()
修改const变量
int* pInt = const_cast<int*>(&g_test);qDebug() << "pInt = " << *pInt;*pInt = 6;qDebug() << "pInt = " << *pInt;
阅读全文
0 0
- c++ 预处理指令 data_seg, section 用法介绍
- 详细介绍预处理指令data_seg的使用方法
- 【C/C++】C++预处理指令介绍
- C/C++: 预处理指令
- C/C++预处理指令#define 之##连接符的用法
- C#-预处理指令
- C语言预处理指令
- c/c++预处理指令
- C语言预处理指令
- C预处理指令
- C预处理指令
- C/C++预处理指令
- C语言预处理指令
- C-预处理指令(9)
- C预处理指令
- C/C++预处理指令
- C/C++预处理指令
- C语言预处理指令
- QNX操作系统及网络设备驱动模块-qnx设备驱动模块
- 406 ajax ssm
- Spark处理XML文件与XLSX/XLS文件
- nginx配置HTTPS
- java实现快速排序
- c++ 预处理指令 data_seg, section 用法介绍
- 使用python编写BurpSuite插件(1. demo运行)
- app安装了但没自动运行
- Python:类的声明两种方法
- Guava Preconditions类使用【Guava学习笔记】
- NEON简介
- 2017.08.18【NOIP提高组】模拟赛B组总结
- python(4)
- 欢迎使用CSDN-markdown编辑器