C/C++ 遇到0xcccccccc访问冲突
2024-08-25 06:54:28
最近一直在纠结这个问题.
最近写代码,总是遇到这个问题,一旦遇到这个问题,以前好使的代码也就不好使了。很费解,上网搜集了下资料....
这个0xcccccccc是DEBUG模式下,编译器为没有初始化的指针填充的地址值。当你进入到断电时,也会看到很多其他的未初始化的指针都是这个值
而为什么会是这个值呢?
因为,0xcc是INT 3的机器码,而这个INT 3是留给编译器中断时用的 替换向量,一旦断电继续执行下,就会替换掉这个值。
为什么系统要填充这个固定的值呢?
因为,在DEBUG模式下,就是为了测试代码的运行。如果每次都随机指定一个地址,那最后测试的结果也会不一样。如果随机填充了一个地址,这个地址在未经初始化的情况下使用了,但是换到RELEASE模式下的时候,就会出现意外的情况。因此,添加这个值,确保指针在使用前都经过了初始化。
其他还有固定的地址值对应的错误:
0xcdcdcdcd - Created but not initialised 0xdddddddd - Deleted 0xfeeefeee - Freed memory set by NT's heap manager 0xcccccccc - Uninitialized locals in VC6 when you compile w/ /GZ 0xabababab - Memory following a block allocated by LocalAlloc()
最新文章
- Centos7 下面安装 MySql 客户端
- [linux]CentOS无法使用epel源
- 异步get请求之Block方法
- MFC对话框Dialog控件处理程序handler因为public修饰符导致无法访问
- 高效通信模型之 - 网络通信I/O模式( Windows)
- Java常见排序算法之快速排序
- Java提高篇(三二)-----List总结
- mongodb选型问题
- 201521123066 《Java程序设计》第十二周实验总结
- code forces 439 C. The Intriguing Obsession
- python icmp\dns\http监控网络各个节点状态,并记录日志
- 磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序
- 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件
- [转帖]总结ORACLE系统视图及表大全
- SharePoint JavaScript API 根据文件路径删除文件
- windows下redis启动失败提示maxheap flag
- JPA数据懒加载LAZY和实时加载EAGER(转)
- JEECG(二) JEECG框架下调用webservice java springmvc maven 调用 webservice
- ACM选修hust 1075 组合+数学+期望值
- 时间处理模块time