单片机里面.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文件不是太清楚了

单片机里面.HEX文件不是由.C文件生成的吗?为什么有的程序里面.C文件与...
.UVproj是项目文件,里面包含项目内的所有源文件的登记、编译器相关设置、以及生成目标的配置等一些列信息;hex则是项目生成的最终程序,是项目中所有code编译链接得到的,所以.UVproj文件和hex文件应该是同名的。.c文件是源文件,obj是c文件编译得到的,他们的文件名肯定相同。一个项目中可以含有很多源代码...

.c和.hex文件是要一起刷入单片机吗?他们有什么区别?不会的别答
.c当然是不能刷入单片机的,.hex文件下载到单片机,那么单片机就可以工作了。前者是源代码文件,必须经过编译、连接后产生.hex或.bin文件才可以下载到单片机。后者是最终生成的文件,单片机的.hex就相当于电脑的.exe

为什么51单片机要将.c文件转换成.hex文件呢
.hex是 目标代码 ,也就是 单片机 的执行代码,是给机器用的 而.c是 源程序 ,是给人看的 编译器(如keil),它的集成环境可将.c直接生成.hex

如何将单片机HEX文件转换成C语言或汇编
1、.hex是二进文件。.asm是汇编文件。是C编译器产生的。如果谁把汇编语言还原成C,几乎不太可能,如有这时间功夫,C程序自已都可早早重新编好了。2、可以用反向工程hex2c:开始—>运行—>输入CMD 找到hex2c.exe所在文件夹路径 输入 hex2c <hex文件名称.hex> <生成c文件名称.c> ...

在单片机编程中,keil产生的文件中.C , .H , .HEX , .UV2 之间是什么关系...
C是后缀名,意思是用c语言编写程序,keil还支持汇编语言编写(*.ASM)*.H是后缀名,这里是声明文件,keil自带,也可以自定义*.HEX是编译好后的十六进制文件,单片机只能识别十六进制和二进制(*.BIN)的文件*.UV2是keil的工程名 直接打开*.UV2,就是打开了一个工程,如果工程里包含.C文件,...

hex是什么文件格式
hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式。生成Hex文件的方式有很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。...

51单片机的HEX文件怎么生成的?
1、首先在电脑上用proteus软件打开目标文件。然后用鼠标左键双击51单片机图标,如图所示。然后在出现的窗口中,点击下图中的文件夹图标。然后在电脑文件夹中找到编译好的HEX文件导入。2、keil里编译时,设置输出文件为.HEX文件格式。然后在proteus中打开CPU属性,在程序设定栏填入HEX文件路径及名称(也可以...

protues中单片机仿真用的.hex文件应该怎么生成
一般用keil 软件编写程序,在其输出设置里面,选择生成hex文件,然后在protues里调用这个hex文件就可以了。

单片机 keil 怎么生成 hex文件
首先你要确定你的文件编译没有错误,有错误是不会生成.HEX文件的。然后你进project-options for target target1,出现一个对话框,选择上面的output,那里面有creat hex选中确定然后从新编译就生成了,如果不在这个选项就是在FLASH-configure flash tool(最后一项)里了打开对话框也能看到上面的界面,选好...

keil中 为什么要生成hex文件才能被单片机执行
hex是十六进制文件,生成hex后还要转成二进制的机器码才行。因为单片机工作时候只有高低电平,即用二进制的“1-高,0-低”电平。就按照这些不同的高低电平(1和0)组成不同的指令和运算码来执行相应的操作

相似回答