单片机里面.HEX文件不是由.C文件生成的吗?为什么有的程序里面.C文件与.hex文件的文件名不一致?

我不太懂,为什么.C文件和.OBJ和.LST文件名一致,却与.UVproj和.hex文件的名称不一致,这样可以正常运行吗?这是不是两个程序拼凑起来的呢?麻烦详细解答一下。

.UVproj是项目文件,里面包含项目内的所有源文件的登记、编译器相关设置、以及生成目标的配置等一些列信息;hex则是项目生成的最终程序,是项目中所有code编译链接得到的,所以.UVproj文件和hex文件应该是同名的。.c文件是源文件,obj是c文件编译得到的,他们的文件名肯定相同。一个项目中可以含有很多源代码文件(通常是c或者汇编文件),每个源文件只实现项目的一部分功能,所以单个c文件不能代表整个项目,所以c文件的名字不需要和hex文件相同。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-10
.UVproj应该是.UV2或.UV3吧,不过不管.UV什么都应该是keil的工程文件,.C文件和.OBJ和.LST文件是源码文件,.hex是输出给单片机的可执行文件
你可以建一个工程名字叫a,可以加载写好的.C文件和.OBJ和.LST源码文件名字叫b,所以这里的文件名不一致是可以的,.hex文件输出时是默认按照工程名输出的,所以名称相同,因为它是有这个工程产生的
其它的源代码文件可以不是由这个工程写的,但是可以被keil包含进来,所以名称可以不同
其实输出的hex文件也可以和工程文件名不同,只要在输出选项中把执行文件名改一下就行了
置于是否可以正常运行,只要程序没有问题,应该是可以正常运行了,.hex是由keil输出的下载到单片机的文件,单片机只能执行.hex文件,所以.hex文件是独立的
可以做个形象的比喻,把工程看做是只母鸡,源文件是粮食,.hex是鸡蛋,我们只要鸡蛋
呵呵,经典吧,绝对的原创
第2个回答  2011-11-10
可以直接在IDE里设置hex文件名 这样就有可能一样 可能不一样
第3个回答  2011-11-10
.C文件和.OBJ和.LST 是源码文件,.UVproj和.hex文件不是太清楚了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网