硬汉嵌入式论坛

 找回密码
 立即注册
查看: 470|回复: 8
收起左侧

[MDK] 同样的编译器和编译器配置编译结果不一样

[复制链接]

75

主题

683

回帖

908

积分

金牌会员

积分
908
发表于 2024-1-20 19:57:23 | 显示全部楼层 |阅读模式
同一个MDK工程,使用MDK编译得到一个HEX文件;通过VSCODE+EIDE导入工程后,使用和MDK使用的相同的编译器和编译器配置,得到另一个HEX文件,结果两个文件执行功能一样,但是文件内容不一致。有大佬知道怎么回事吗?
回复

使用道具 举报

210

主题

1042

回帖

1682

积分

至尊会员

More we do, more we can do.

积分
1682
发表于 2024-1-20 23:25:40 | 显示全部楼层
建议反汇编比对分析。IAR遇到过类似问题,后来发现是编译器Bug。
回复

使用道具 举报

75

主题

683

回帖

908

积分

金牌会员

积分
908
 楼主| 发表于 2024-1-21 20:17:18 | 显示全部楼层
emwin 发表于 2024-1-20 23:25
建议反汇编比对分析。IAR遇到过类似问题,后来发现是编译器Bug。

反汇编是不一样的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-1-22 00:32:31 | 显示全部楼层
这个建议比较bin文件。
回复

使用道具 举报

75

主题

683

回帖

908

积分

金牌会员

积分
908
 楼主| 发表于 2024-1-22 09:28:44 | 显示全部楼层
eric2013 发表于 2024-1-22 00:32
这个建议比较bin文件。

比较过bin文件,也有一些不一样。
回复

使用道具 举报

3

主题

119

回帖

128

积分

初级会员

积分
128
发表于 2024-1-22 14:48:57 | 显示全部楼层
确定所有编译配置都改成一样了吗,比如RAM/ROM布局这类
https://em-ide.com/zh-cn/docs/getting-started/import_prj
回复

使用道具 举报

75

主题

683

回帖

908

积分

金牌会员

积分
908
 楼主| 发表于 2024-1-22 15:50:33 | 显示全部楼层
破案了,MDK链接的时候.o文件顺序是按照工程里面文件顺序来的,但是EIDE是将所有文件(带路径)排序以后再链接的,所以结果不一样。
回复

使用道具 举报

210

主题

1042

回帖

1682

积分

至尊会员

More we do, more we can do.

积分
1682
发表于 2024-1-24 20:17:11 | 显示全部楼层
如果只是链接问题,map文件里的输出会一样
回复

使用道具 举报

75

主题

683

回帖

908

积分

金牌会员

积分
908
 楼主| 发表于 2024-1-24 22:32:49 | 显示全部楼层
emwin 发表于 2024-1-24 20:17
如果只是链接问题,map文件里的输出会一样

链接顺序不一样,map文件也会不一样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 05:04 , Processed in 0.220755 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表