Keil系列教程10_文件类型及相关描述

  • 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! www.captainbed.net

一、写在前面

1.你在提交项目、打包保存项目时,你会删掉不必要的文件吗?
2.你知道这些uvoptx、uvprojx、map、dep……是什么文件吗?



1
2
3
4
5
现象or疑问:
1.购买一块开发板,厂家提供的源代码例程没有几个,但文件却有几百兆。
2.百度网盘下载一个别人提供的代码压缩包,几十兆。
3.打开别人下载的源代码工程,各种类型文件混杂在一起。
4.有些人提供的源代码没有dep文件,这个文件可以删除吗? 删除了会有什么影响?

其实有许多文件都是编译产生的中间文件,我习惯放一个双击删除“编译产生文件”.bat”来管理工程。即每次需要保存,或提交工程,会双击该文件,删除不需要的中间文件。

当你看完本文,理解这些文件类型的含义,你就不会有上面这些烦恼了。(本文内容可参考Keil帮助文档“File Types”文件类型章节)

二、Keil文件类型概述

Keil中用到的文件类型很多,大概有五、六十种。下面会重点讲述常用的文件类型,一些不重要的,或者不常见的只简单概述。

Keil文件可以分为7类:
1、Project Files工程类型文件;
2、Source Files源代码类型文件;
3、Listing Files链接类型文件;
4、Object and HEX Files目标和Hex类型文件;
5、Build Files编译类型文件;
6、Debugger Files调试类型文件;
7、Other Files其他类型文件;

三、Project Files工程类型文件

工程类型文件是比较重要的,特别是工作空间、 工程文件、工程选项配置这三种文件不能删除。项目界面布局文件可以删除。

3.1 工作空间文件

(这类文件不能删除)
*.uvmpw:µVision Project file for Multiple Projects多工程文件,也就是我们说的工作空间文件。

3.2 工程文件

(这类文件不能删除)
*.uvprojx:µVision5工程文件

*.uvproj:µVision4工程文件

*.uv2:µVision3工程文件

3.3 工程选项配置文件

(这类文件不能删除)
*.uvoptx:µVision5工程选项配置文件

*.uvopt:µVision4工程选项配置文件

3.4 项目界面布局文件

(这类文件可以删除)
*.uvguix[.user-name]:µVision5项目界面布局文件。删除之后,重新打开工程,界面布局会恢复到默认布局。如Demo.uvguix.Administrator。

*.uvguix[.user-name]:µVision4项目界面布局文件。

四、Source Files源代码类型文件

这一类文件相信大家都熟悉,简述一下。

*.c:C源文件

*.h:C头文件

*.cpp:C++源文件

*.s:汇编源文件

*.a51:汇编源文件

*.a66:汇编源文件

*.inc:汇编头文件

*.src:C编译器生成的其他源文件

五、Listing Files链接类型文件

这一类文件属于中间文件,一般在编译过程中产生。可以在工程目标选项中配置对应的链接文件。Project -> Options for Target -> Listing,如下图:



*.map:存储镜像文件
这个文件比较重要,我会在后面专门讲述一篇map相关文章。

*.i:C预处理器输出文件

*.scr:链接器分散加载器文件

*.lst:C编译器或汇编器生成的文件

*.m51:同样也是map文件

*.m66:同样也是map文件

*.htm:链接器的列表文件

六、Object and HEX Files目标和Hex类型文件

这一类文件同样属于中间文件,一般在编译过程中产生。但这类文件比较重要,调试信息、预览信息、可执行文件等都在这里面。

Project -> Options for Target -> Output,如图:



*.hex:可执行文件

*.axf:包含调试信息的程序文件
有时候我们调试出错,可能是axf没有文件。

*.d:编译生成的依赖文件
一般一个.c文件对应一个.d文件。

*.o:也是目标的依赖文件
重定位定址的依赖文件。

*.lib:库文件
生成的库就在这里。

*.elf:ELF/DWARF链接的文件

*.crf:浏览信息文件
使用Go to Definition Of 功能,就需要有这类文件。

七、Build Debugger编译调试文件

编译和调试,其实是两类不同文件,由于比较少,综合在一起写。

*.bat:批处理文件

._IA, .__I, ._II, .SCR:工具调用文件

*.ini:于初始化源码文件

八、Other Files其他类型文件

这类文件比较多,但使用较少,简单列几个吧。

*.pack:软件(支持)包文件

*.sct:链接控制文件

*.lnp:连接器传递命令文件

*.dep:目标编译依赖文件

*.cdb:µVision设备数据库文件

九、说明

1.该文档仅供个人学习使用,版权所有,禁止商用。

2.本文由我一个人编辑并整理,难免存在一些错误。

3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号【EmbeddedDevelop】,关注微信公众号回复【Keil系列教程】即可查看全系列教程。

十、最后

我的博客:http://www.strongerhuang.com
我的GitHub:https://github.com/EmbeddedDevelop

  我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号。

strongerHuang wechat
关注微信公众号,查看更多精彩内容!
本文对你有帮助吗?