1.你在提交项目、打包保存项目时,你会删掉不必要的文件吗? 2.你知道这些uvoptx、uvprojx、map、dep......是什么文件吗? 现象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设备数据库文件
|