[应用相关] 一样的c文件但keil的输出文件不一样

[复制链接]
1629|17
 楼主| onlycook 发表于 2024-9-30 14:53 | 显示全部楼层 |阅读模式
keil输出文件比较多的那一张图,是别人建立的工程文件,编译下载后程序可以正常运行。我把这个工程中的c文件和h文件拿了出来,自己建立了一个工程,编译下载后,程序不能按照预想的运行,但是c文件和h文件是一模一样的啊,还有都能编译通过和下载,不知道这是什么原因,还有就是我对比发现这两个工程的输出文件的有差别,是不是keil没有设置好导致输出文件不一样,进而导致程序运行结果不一样啊,求高手指点一下,先拜谢了!!!!!
610u 发表于 2024-10-2 20:53 来自手机 | 显示全部楼层
我把这个工程中的c文件和h文件拿了出来,自己建立了一个工程,编译下载后
tpgf 发表于 2024-10-11 12:38 | 显示全部楼层
建议检查和确保所有相关的设置都一致,包括Keil版本、编译器版本、优化选项、链接器脚本以及项目配置文件等
guanjiaer 发表于 2024-10-13 18:02 | 显示全部楼层
不同版本的Keil可能使用不同版本的编译器
heimaojingzhang 发表于 2024-10-13 18:35 | 显示全部楼层
即使是相同的源代码,不同版本的编译器可能会产生不同的编译优化结果,从而导致生成的可执行文件或hex文件有所不同
keaibukelian 发表于 2024-10-13 19:10 | 显示全部楼层
如果两个工程使用了不同的链接器脚本,即使源代码相同,最终生成的输出文件也会不同
paotangsan 发表于 2024-10-13 19:45 | 显示全部楼层
如果工程中使用到了第三方库或标准库,不同版本的库文件也可能导致最终的输出文件有所差异。
renzheshengui 发表于 2024-10-13 20:21 | 显示全部楼层
在Keil中,输出文件的路径配置也会影响最终的文件输出
Stahan 发表于 2024-10-13 22:59 | 显示全部楼层
不同版本的编译器也会获得不一样的可执行文件
cr315 发表于 2024-11-1 16:19 | 显示全部楼层
可能是Keil版本或编译器版本不同导致的
elephant00 发表于 2024-11-1 16:22 | 显示全部楼层
第三方库或标准库版本不同
laocuo1142 发表于 2024-11-1 16:22 | 显示全部楼层
如果两个项目的输出文件路径或名称配置不同,那么即使它们的内容相同,也会被视为不同的文件。
两只袜子 发表于 2024-11-1 17:23 | 显示全部楼层
Keil项目中的配置文件可能包含了不同的编译设置、链接器设置、调试设置等。这些设置的不同会直接影响编译器的行为,从而导致输出文件的差异。
jcky001 发表于 2024-11-1 18:23 | 显示全部楼层
可能是因为链接器脚本或内存布局不同导致的
flycamelaaa 发表于 2024-11-1 18:26 | 显示全部楼层
检查输出文件的路径和名称配置是否一致。
powerantone 发表于 2024-11-1 20:26 | 显示全部楼层
如果可能的话,尽可能使用相同的编译器优化设置和调试信息设置。
stormwind123 发表于 2024-11-1 21:26 | 显示全部楼层
检查源代码、编译器设置或链接器脚本
probedog 发表于 2024-11-1 22:00 | 显示全部楼层
两个项目使用的Keil版本和编译器版本要相同
classroom 发表于 2024-11-1 23:00 | 显示全部楼层
检查并比较两个项目的配置文件和链接器脚本,要保证一致
在曼谷的春 发表于 2024-11-2 01:00 | 显示全部楼层
可能跟你优化设置有关系吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

496

主题

2185

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部