KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
来源:互联网 发布:arp绑定mac地质作用 编辑:程序博客网 时间:2024/05/29 17:59
晚上调程序的时候,KEIL编译出现了ADDRESS SPACE OBERFLOW的问题,已经碰到两次了,上次没在意,以为程序太长,地址空间溢出了。
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: _DATA_GROUP_
LENGTH: 005DH
刚才百度了一下,看到一个网友在博客里面的文章,成功解决,原来不是data空间溢出的问题,而是我有些子程序定义了没调用,导致keil无法合理分配空间,从而溢出。
为了让这篇文章继续发挥光和热,原文转载如下:(非常十分以及及其感谢网友zoedigi!)
楼上的ddxixi的意见有误。首先,我说了我不能任意使用外部存贮空间,所以决不能让编译器将一些临时变量放入idata or xdata。
其次,data 空间可以达到256,见顶楼的第三例,data空间使用了197.4而决无错误。这是因为目前市面上大多数的MCU都提供了256的data空间。
那么我的错误出现在哪里呢?
这就是Keil的问题了。当编译失败时,它不能给出完整正确的报告。所以它给出的:
Program Size: data=126.3 xdata=582 code=12091
就是不可信的。实际上我的data空间已经远不止126.3了。
最后找到,我在多处定义了一个char buf[33];的字符串,而没有使用它。
结论就出来了:
1、Keil的错误报告不完整。
2、在Keil里最好不要留下定义而未使用的变量或函数,编译器无法合理的为之分配空间,而导致空间溢出。
- KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
- KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
- KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
- KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
- keil 51 关于*** ERROR L107: ADDRESS SPACE OVERFLOW 的分析
- keil:ERROR L107: ADDRESS SPACE OVERFLOW
- keil:ERROR L107: ADDRESS SPACE OVERFLOW
- KEIL 编译出错*** ERROR L107: ADDRESS SPACE OVERFLOW
- 解决keil C编译出现ERROR L107: ADDRESS SPACE OVERFLOW
- ERROR L107: ADDRESS SPACE OVERFLOW
- ERROR L107: ADDRESS SPACE OVERFLOW
- *** ERROR L107: ADDRESS SPACE OVERFLOW
- *** ERROR L107: ADDRESS SPACE OVERFLOW
- *** ERROR L107: ADDRESS SPACE OVERFLOW
- KEIL L107 ADDRESS SPACE OVER
- 今天 编写 24l01 + 5110 时 出现的错误!!!*** ERROR L107: ADDRESS SPACE OVERFLOW !!!
- 今天 编写 24l01 + 5110 时 出现的错误 2!!!*** ERROR L107: ADDRESS SPACE OVERFLOW !!!
- KEIL C51编译出现了ADDRESS SPACE OBERFLOW
- 黑马程序员 java 可能遇到的异常
- DEBUG命令
- 2011年 C++程序设计
- 每天一道编程题----------------辗转相除法求两个数的最大公约数及其证明
- 双语对齐工具Champollion tool kit的配置和使用
- KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
- Google Maps API 网络服务
- C#常见题
- CTI的修改密码模块和退出模块
- 关于c->c++过渡的一些小细节
- 初学Java,IdentityHashMap实现类(三十三)
- QT 的信号与槽机制
- 专注于操作系统7之初识保护模式
- 成熟与稳重