打工小王子 发表于 2021-8-2 20:59

keil5在不同电脑生成的hex文件不同

keil5配置文件和版本号都是一样的,编译器也是一样的,唯一的不同是电脑系统不一样,同一个代码源,生成的hex文件不一样,,求大佬解答

caigang13 发表于 2021-8-2 21:14

怎么判断不一样的?

打工小王子 发表于 2021-8-2 21:24

caigang13 发表于 2021-8-2 21:14
怎么判断不一样的?

将两台电脑生成的hex文件进行比较

打工小王子 发表于 2021-8-2 21:29

打工小王子 发表于 2021-8-2 21:24
将两台电脑生成的hex文件进行比较

我用两台电脑系统一样的(都是win7旗舰版),生成的hex文件是一样的,,用git里面可以比较文件的,,(一台电脑是win7家庭版,一台是win7旗舰版,一台是win10专业版,这三台生成的hex文件都不相同)

xyz549040622 发表于 2021-8-3 08:40

不一样的地方多不多?

不闲不要钱 发表于 2021-8-3 08:47

是不是用了__DATE____TIME__宏

打工小王子 发表于 2021-8-3 09:06

xyz549040622 发表于 2021-8-3 08:40
不一样的地方多不多?

特别多,,后面有一半的数据都不一样

打工小王子 发表于 2021-8-3 09:09

不闲不要钱 发表于 2021-8-3 08:47
是不是用了__DATE____TIME__宏

用了,但是日期和时间宏只会影响一行代码

gaobq 发表于 2021-8-3 09:53

有没有可能优化选型不一致

打工小王子 发表于 2021-8-3 10:03

gaobq 发表于 2021-8-3 09:53
有没有可能优化选型不一致

一样的,配置都是一样的

Prry 发表于 2021-8-3 10:49

源码路径不同,改为一样路径。

linnjing 发表于 2021-8-3 11:23

比较一下生成的MAP文件,看看哪有差异。
问题出在包含的库文件的可能性大一点。
有时候源码只相差一个字节,生成的代码也会有显著差异,不奇怪。
举个我遇到的例子,i=100改成i=1000,生成的代码就会差极多。

ddllxxrr 发表于 2021-8-3 12:36

有这种可能,但不可能影响程序的流程

打工小王子 发表于 2021-8-3 13:23

linnjing 发表于 2021-8-3 11:23
比较一下生成的MAP文件,看看哪有差异。
问题出在包含的库文件的可能性大一点。
有时候源码只相差一个字节 ...

MAP文件差异也很大

打工小王子 发表于 2021-8-3 16:26

问题已解决,谢谢各位啦

m564522634 发表于 2021-8-3 17:17

打工小王子 发表于 2021-8-3 16:26
问题已解决,谢谢各位啦

别找电脑的原因,找下你自己配置的软件编译配置上有什么区别吧,在看下系统的调用库一不一样,看下编译器一样的,keil 支持 ac5 ac6 gcc编译器 你自己看下

JasonLee27 发表于 2021-8-6 17:04

打工小王子 发表于 2021-8-3 16:26
问题已解决,谢谢各位啦

啥原因啊

单片小菜 发表于 2021-9-1 09:29

还有这样的问题,很奇怪哦。
我在想,是不是电脑本身系统优化的问题。

leexus 发表于 2021-9-21 22:32

优化级别是不是一样的,编译控制字符是不是一样的,如果都是一样的就没道理了,仔细检查一下

Bobby13 发表于 2021-9-21 23:54

beyond compare 比较 map 文件
页: [1]
查看完整版本: keil5在不同电脑生成的hex文件不同