keil5在不同电脑生成的hex文件不同
keil5配置文件和版本号都是一样的,编译器也是一样的,唯一的不同是电脑系统不一样,同一个代码源,生成的hex文件不一样,,求大佬解答 怎么判断不一样的? caigang13 发表于 2021-8-2 21:14怎么判断不一样的?
将两台电脑生成的hex文件进行比较 打工小王子 发表于 2021-8-2 21:24
将两台电脑生成的hex文件进行比较
我用两台电脑系统一样的(都是win7旗舰版),生成的hex文件是一样的,,用git里面可以比较文件的,,(一台电脑是win7家庭版,一台是win7旗舰版,一台是win10专业版,这三台生成的hex文件都不相同) 不一样的地方多不多? 是不是用了__DATE____TIME__宏 xyz549040622 发表于 2021-8-3 08:40
不一样的地方多不多?
特别多,,后面有一半的数据都不一样 不闲不要钱 发表于 2021-8-3 08:47
是不是用了__DATE____TIME__宏
用了,但是日期和时间宏只会影响一行代码
有没有可能优化选型不一致
gaobq 发表于 2021-8-3 09:53
有没有可能优化选型不一致
一样的,配置都是一样的 源码路径不同,改为一样路径。 比较一下生成的MAP文件,看看哪有差异。
问题出在包含的库文件的可能性大一点。
有时候源码只相差一个字节,生成的代码也会有显著差异,不奇怪。
举个我遇到的例子,i=100改成i=1000,生成的代码就会差极多。
有这种可能,但不可能影响程序的流程 linnjing 发表于 2021-8-3 11:23
比较一下生成的MAP文件,看看哪有差异。
问题出在包含的库文件的可能性大一点。
有时候源码只相差一个字节 ...
MAP文件差异也很大 问题已解决,谢谢各位啦 打工小王子 发表于 2021-8-3 16:26
问题已解决,谢谢各位啦
别找电脑的原因,找下你自己配置的软件编译配置上有什么区别吧,在看下系统的调用库一不一样,看下编译器一样的,keil 支持 ac5 ac6 gcc编译器 你自己看下 打工小王子 发表于 2021-8-3 16:26
问题已解决,谢谢各位啦
啥原因啊
还有这样的问题,很奇怪哦。
我在想,是不是电脑本身系统优化的问题。
优化级别是不是一样的,编译控制字符是不是一样的,如果都是一样的就没道理了,仔细检查一下 beyond compare 比较 map 文件
页:
[1]