前面讲了很屡次和优化、汇编这些相关的选项,假如曾经触摸这些概念少的话,不免是云里雾里利诱半响,需求多多操练、测验才干加深了解。所以这次换一些简单了解的,包括文件类型、目录结构、扩展名等。这些概念并不新鲜,由于它们组成了操作系统里边最基本的文件办理功用。在一个工程中包括的文件较少的时分,这些元素在编程环境例如CCS3.3里的办理并不杂乱,大不了把一切要用到的文件都拷到同一个目录下然后添加进工程就行了。可是在更杂乱的工程和更高档版别的编程环境里,例如在CCS5.x乃至刚刚推出的CCS6.x里,工程的办理看起来要杂乱的多(也是为了愈加有条理地办理文件和目录结构),有的文件是咱们自己编写的,有的头文件/源程序/库文件引证了TI官方出书的外设与头文件示例,有的文件是从咱们或许他人曾经写好的程序里引证过来的,不同的文件夹、外设类型揉杂在一起,有时分即便你重复确认了每个文件、每个途径结构都对了,可是编译的时分它便是通不过了。乃至他人悉数编译经过的工程,你原封不动地仿制过来,它忽然便是死活编译不了;例如,Hex2000.exe是CCS编译器自带的,把C2000的工程输出文件.out转换为Flash烧写文件.hex的,一般它坐落CCS装置目录下面的 ools\compiler\c2000_6.2.0\bin里边。可是假如他人的工程把它放在了一个很杂乱的文件目录下,例如C:\Users\xxx\Desktop\PiccoloBoot\Debug>..\…\…\…\…\…\PiccoloFW\Hex2000.exe,你拷过来,导入Workspace再运行的时分。。。所以对这些选项仍是要细心看一看的。
表1中的选项能够让咱们让强制把某些文件解读为特定类型的文件。这个说起来或许感觉很古怪,什么文件就用什么扩展名呗,为什么需求这么做。事实上笔者的确遇到过这样的状况,在一个老外给的比如里,用头文件、C和C++和汇编文件一起来读程序的时分,常常读着读着程序就在某处中断了,找不到任何跳转信息。后来才发现,许多C函数写到了其它类型的文件里边了,例如某些不知道是不是他自定义的.s文件里;默许状况下编辑器和编译器是不认识这种文件类型的,所以根本就没有把它们作为源程序添加到工程里边。
举例说明,咱们有个后缀名为.s的文件,里边是C程序,这时咱们就能够运用下面的选项让编译器主动把它读取为C程序了:cl2000 –v28 –c_file=file.s
举例说明,咱们有个名为fit.rrr的文件,里边是汇编语言程序,这时咱们就能够运用下面的选项让编译器读取它,并编译输出相关的方针文件.o(而不是默许的obj):
cl2000 –v28 –asm_extension=.rrr –obj_extension=.o fit.rrr