打印
[开发工具]

为什么项目编译前后HEX码有些微小区别?

[复制链接]
1949|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jishanlaike|  楼主 | 2014-2-18 08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
同一个项目,MPLAB+PICC9.50,重装这2个软件后,打开原来的项目,编译的HEX码不同,不同的电脑也不同,请分析下原因吧,愁。。。
沙发
yewuyi| | 2014-2-18 08:23 | 只看该作者
1、编译结果只和代码本身、编译器、编译器指令行有关。
2、在不同的编译器版本下代码是有可能不同的。
3、在同一个编译器版本下,如果控制编译器的指令有变化,则代码也是可能有变化的。
4、针对MPLAB+PICC来说,你可以重点检查配置字、头文件等是否完全相同?反正我用MPLAB+PICC9.50版本很多年都没发现过这类问题,估计你还是在哪犯了一些基本错误造成的。

使用特权

评论回复
板凳
aozima| | 2014-2-18 09:59 | 只看该作者
即使完全一致的源代码,编译器和编译参数,如果代码中有用__TIME__这样的,照样不一样。
可以对比BIN文件找出差异。

使用特权

评论回复
地板
yewuyi| | 2014-2-18 10:03 | 只看该作者
aozima 发表于 2014-2-18 09:59
即使完全一致的源代码,编译器和编译参数,如果代码中有用__TIME__这样的,照样不一样。
可以对比BIN文件找 ...

你这不是HEX码不同,HEX码还是一样的,但HEX文件如果附带了编译时间信息,这HEX文件可能就不一样了。

使用特权

评论回复
5
aozima| | 2014-2-18 10:16 | 只看该作者
prinf("build %s\n", __DATA__)
楼上该复习一下了。

使用特权

评论回复
6
jishanlaike|  楼主 | 2014-2-18 11:38 | 只看该作者
还是请教2位大师,编译器配置字、源文件都是一样的,是否MPLAB那里的设置发生了改变呢?

使用特权

评论回复
7
yewuyi| | 2014-2-18 13:32 | 只看该作者
aozima 发表于 2014-2-18 10:16
楼上该复习一下了。

你应该首先确定一下MPLAB+PICC9.50是不是支持。

使用特权

评论回复
8
jishanlaike|  楼主 | 2014-2-21 21:02 | 只看该作者
问题已经找到,不同的电脑编译的HEX码不同,但校验和一致.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

24

帖子

1

粉丝