使用Sourcetree(Git图形化客户端)管理keil工程
问题
使用“–pch”进行编译器优化,即保存头文件编译的中间文件“XXX.pch”,再次编译时就不用编译这些头文件,前提是这些头文件的内容没有改变,这样就进一步提高了keil的编译速度。(空间换时间)
但是同时带来了一个问题,那就是会生成体积很大的pch文件,并且加上原来的编译中间文件如“.d”,“.o”等等,如图:
如果将他们也保存在git中会比较冗余,所以将他们在版本管理中忽略(注:是忽略变动而不是丢弃更改,因为git的版本管理原理简单来说是将文件加密存放在.git的子文件夹中,忽略文件变动则不会将文件加入,丢弃会将文件直接删除)
方法1
编译之后文件会变动,选择要忽略的文件右键点击忽略
然后选择忽略扩展名,因为我的中间文件输出路径是cubemx生成工程默认,所以会在MDK文件夹下面,所以文件选择MDK。
这样就完成了对无关文件的忽略,以后提交暂存也不会显示。
方法2
初级版本:直接在编译结束之后删除所有编译中间文件,在魔术棒中可以调整中间文件生成路径,可以集中到同一个文件夹,然后进行删除。
进阶版本:使用windows批处理命令删除当前目录下的中间文件,后缀为.bat,如:
步骤:新建文本文件,复制下面文字并且保存退出;
del *.bak /s
del *.ddk /s
del *.edk /s
del *.lst /s
del *.lnp /s
del *.mpf /s
del *.mpj /s
del *.obj /s
del *.omf /s
::del *.opt /s ::不允许删除JLINK的设置
del *.plg /s
del *.rpt /s
del *.tmp /s
del *.__i /s
del *.crf /s
del *.o /s
del *.d /s
del *.axf /s
del *.tra /s
del *.dep /s
del JLinkLog.txt /s
del *.iex /s
del *.htm /s
del *.sct /s
del *.map /s
exit
将当前文本文件后缀修改为bat即可。
注:如果使用pch优化,不建议删除pch中间文件,因为重新生成会耗费更多时间,就失去了使用pch的意义