关于用KEIL 51编译器的奇怪问题,百思不得其解,请高人指点

2020-01-27 11:34发布

本帖最后由 raosibin 于 2013-8-1 22:13 编辑

最近做了一个项目,用的是STC15F204EA,编译器是KEIL 3.51版本,当时我在开发过程中,发现一个非常奇怪的问题:编译没有问题报告,程序我仔细查了,也是没有问题的,但是程序下载后,数码管显示就不正常;怎么都找不到原因,最后我就在某个子文件(因为添加了这个子文件的功能函数后,程序就不正常了)上定义了一个无用的变量(程序中从未用到),程序又都正常了,我百思不得其解,请教下有没有打侠遇到过类似的问题?是什么原应呢?虽然问题我是解决了,但我自己都没有搞明白为什么
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
raosibin
1楼-- · 2020-01-27 14:35
 精彩回答 2  元偷偷看……
绿茶山人
2楼-- · 2020-01-27 19:36
难道是内存对齐?!后面添一个变量是用来占空间,刚好使内存对齐,你把程序优化等级调到最低0级试试。仅仅是猜测~
fastweb
3楼-- · 2020-01-27 22:34
8位机不存在内存对齐一说。这种奇怪的问题只能看汇编分析,当然有在线调试最好了,一调试就能发现问题
caoxuerji
4楼-- · 2020-01-28 02:22
类似问题遇到过几次,一般都是内存被非法使用了,比如写了一个越界的数组,如果你定义了一个没用的变量正好填补了越界的数组,问题刚好被掩盖了
wqx0532
5楼-- · 2020-01-28 03:49
大多数情况是,内存的问题。

一周热门 更多>