单片机里面.HEX文件不是由.C文件生成的吗?为什么有的程序里面.C文件与.hex文件的文件名不一致?
我不太懂,为什么.C文件和.OBJ和.LST文件名一致,却与.UVproj和.hex文件的名称不一致,这样可以正常运行吗?这是不是两个程序拼凑起来的呢?麻烦详细解答一下。...
我不太懂,为什么.C文件和.OBJ和.LST文件名一致,却与.UVproj和.hex文件的名称不一致,这样可以正常运行吗?这是不是两个程序拼凑起来的呢?麻烦详细解答一下。
展开
4个回答
展开全部
.UVproj是项目文件,里面包含项目内的所有源文件的登记、编译器相关设置、以及生成目标的配置等一些列信息;hex则是项目生成的最终程序,是项目中所有code编译链接得到的,所以.UVproj文件和hex文件应该是同名的。.c文件是源文件,obj是c文件编译得到的,他们的文件名肯定相同。一个项目中可以含有很多源代码文件(通常是c或者汇编文件),每个源文件只实现项目的一部分功能,所以单个c文件不能代表整个项目,所以c文件的名字不需要和hex文件相同。
展开全部
.UVproj应该是.UV2或.UV3吧,不过不管.UV什么都应该是keil的工程文件,.C文件和.OBJ和.LST文件是源码文件,.hex是输出给单片机的可执行文件
你可以建一个工程名字叫a,可以加载写好的.C文件和.OBJ和.LST源码文件名字叫b,所以这里的文件名不一致是可以的,.hex文件输出时是默认按照工程名输出的,所以名称相同,因为它是有这个工程产生的
其它的源代码文件可以不是由这个工程写的,但是可以被keil包含进来,所以名称可以不同
其实输出的hex文件也可以和工程文件名不同,只要在输出选项中把执行文件名改一下就行了
置于是否可以正常运行,只要程序没有问题,应该是可以正常运行了,.hex是由keil输出的下载到单片机的文件,单片机只能执行.hex文件,所以.hex文件是独立的
可以做个形象的比喻,把工程看做是只母鸡,源文件是粮食,.hex是鸡蛋,我们只要鸡蛋
呵呵,经典吧,绝对的原创
你可以建一个工程名字叫a,可以加载写好的.C文件和.OBJ和.LST源码文件名字叫b,所以这里的文件名不一致是可以的,.hex文件输出时是默认按照工程名输出的,所以名称相同,因为它是有这个工程产生的
其它的源代码文件可以不是由这个工程写的,但是可以被keil包含进来,所以名称可以不同
其实输出的hex文件也可以和工程文件名不同,只要在输出选项中把执行文件名改一下就行了
置于是否可以正常运行,只要程序没有问题,应该是可以正常运行了,.hex是由keil输出的下载到单片机的文件,单片机只能执行.hex文件,所以.hex文件是独立的
可以做个形象的比喻,把工程看做是只母鸡,源文件是粮食,.hex是鸡蛋,我们只要鸡蛋
呵呵,经典吧,绝对的原创
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接在IDE里设置hex文件名 这样就有可能一样 可能不一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.C文件和.OBJ和.LST 是源码文件,.UVproj和.hex文件不是太清楚了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询