keil重建工程后编译的结果跟之前不一样

2020-01-01 17:47发布

编译器:mdk 5.17
如题,因为某些原因我重建了工程,文件还是之前的,但是编译后的hex比之前的小了几kb,最关键的是运行到某段代码竟然死机了。。。
工程的配置还是照之前的配的,重建了两次还是无果,有没有人遇到过这种情况?
ps:.o文件也是发现很多(几乎)多小跟之前的不一样了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
35条回答
单飞
2020-01-05 12:51
问题已找到。
首先,改变文件顺序生成的目标是有变化,可能是命令的顺序变了,也可能变量和函数的地址变了。
然后,真正的罪魁祸首是堆栈溢出了,可能是改变文件顺序诱发了bug,可能是编译的两个结果本身的区别,反正肯定是在溢出的边缘(路上)。
ps:最痛苦的就是这样的事情,以前好的代码,说挂就挂了。

一周热门 更多>