你好我好大家好! 发表于 2014-11-30 10:35:55

完全一样的c文件,是什么原因导致keil的输出文件不一样呢...

本帖最后由 你好我好大家好! 于 2014-11-30 12:47 编辑

keil输出文件比较多的那一张图,是别人建立的工程文件,编译下载后程序可以正常运行。我把这个工程中的c文件和h文件拿了出来,自己建立了一个工程,编译下载后,程序不能按照预想的运行,但是c文件和h文件是一模一样的啊,还有都能编译通过和下载,不知道这是什么原因,还有就是我对比发现这两个工程的输出文件的有差别,是不是keil没有设置好导致输出文件不一样,进而导致程序运行结果不一样啊,求高手指点一下,先拜谢了!!!!!

arm8686 发表于 2014-11-30 12:26:37

或许是因为所设置的编译优化级别引起的。

你好我好大家好! 发表于 2014-11-30 12:52:36

arm8686 发表于 2014-11-30 12:26
或许是因为所设置的编译优化级别引起的。

我试了试,改了改优化级别,还是不行:'(:'(

arm8686 发表于 2014-11-30 14:19:14

你好我好大家好! 发表于 2014-11-30 12:52
我试了试,改了改优化级别,还是不行

可能还有预定义字符。
一点一点地对比两个工程文件的设置吧。

你好我好大家好! 发表于 2014-11-30 18:22:08

arm8686 发表于 2014-11-30 14:19
可能还有预定义字符。
一点一点地对比两个工程文件的设置吧。

找到自己建立的程序起动不了的原因了:不是因为两个工程输出文件的的多少引起的,而是因为Option->Debug->Settings->Flash Download中的Reset and Run这个功能引起的,我以为这个功能已经选上了,将程序下载到板子里面之后按复位键,程序就能运行。而实际这个功能没有选上,下载板子之后,还得进入调试模式,点击Run按钮程序才能运行。

lkl0305 发表于 2014-11-30 22:45:17

你好我好大家好! 发表于 2014-11-30 18:22
找到自己建立的程序起动不了的原因了:不是因为两个工程输出文件的的多少引起的,而是因为Option->Debug- ...

很多情况下都是小问题影响啊:)

junjunshaoguo 发表于 2014-12-1 14:32:59

学习一下

zlutian 发表于 2014-12-2 18:42:40

可能是编译优化等级不一样
页: [1]
查看完整版本: 完全一样的c文件,是什么原因导致keil的输出文件不一样呢...