前言: 从接触AVR至今,一直使用IAR,IAR的简洁高效,令人印象深刻,其优点很多,在此就不罗嗦啦 每次新建工程后,需要添加头文件路径时就很纠结,手工添加太麻烦,就想有没有自动生成的工具呢?在网上找了很久,没找到最近在公司实习,发现dir /s /b *.h命令可以递归输出当前目录下所有的H文件路径,于是想能不能利用DOS工具来自动处理呢?趁着51放假3天学习了下批处理,动手写个批处理文件,可以完美解决这个问题啦 先说说批处理的思路:利用批处理的for /R 语句来遍历目录,发现*.h文件后,则将其相对路径追加到一个文件中,这样遍历完后,便得到一个包含所有H文件所在目录的文件,但是这个目录有重复项,比如A目录下有3个H文件,则会输出3此A目录,所以下一步就是 要去除文件中的重复项,删去重复项后,便得到所需要的目录路径啦 举个例子来说,这样更清晰些:比如我的电脑上mp3工程代码目录如下所示 E:. +---APP | \---new | \---ddd | +---dddas | \---ddddafffff +---CMSIS | +---CoreSupport | \---DeviceSupport +---CONFIG +---FATFS | \---option +---FWLIB | +---inc | \---src +---GUI +---IAR | +---Debug | | +---Exe | | +---List | | \---Obj | \---settings +---LED +---LRC +---MP3 +---OUTPUT +---SD \---USART
将批处理文件放在根目录下,可以自动生成包含头文件的目录路径,如下所示,
需要说明的是:生成文件中前面的注释部分是我添加的说明,你可以自己修改为自己喜欢的样式,^_^
============================================================================
@brief list the dir which contains a h file in current root directory
@author xuesong
@time 2012/05/01 周二----17:07:06.65
============================================================================
\mp3\APP\
\mp3\APP\new\ddd\dddas\
\mp3\APP\new\ddd\ddddafffff\
\mp3\CMSIS\DeviceSupport\
\mp3\CONFIG\
\mp3\FATFS\
\mp3\FWLIB\inc\
\mp3\LED\
\mp3\MP3\
\mp3\SD\
\mp3\USART\
得到该文件后,怎么得到IAR需要的样式呢?有很多种方法,比如用ultraedit的宏功能,先处理第一个路径,然后重复N此宏就ok啦,也可以用VIM来处理,总之,看个人喜欢了
|