GCC编译优化应用预编译头(二)

工具:

https://github.com/wangxiaobai-dd/GccPrecompiledHeader

对原先的工具进行了更新

  • 增加 GchTool/RevertInc.cpp :
/RevertInc TestRevertTool/dirA inc.h [unified]

可以将包含预编译头文件(如inc.h)的 cpp 文件替换还原
若 inc.h 包含 a.h、b.h,使用工具后 目录下 *.cpp 中 inc.h 都被替换为 a.h b.h
[unified] 可选参数,指包含多个 cpp 文件的 unified cpp


  • 修改 GchTool/CheckInclude :
/CheckInclude CheckDir [FindDirA] [FindDirB] ...

进行递归检查头文件包含, 若 a.cpp 包含 a.h ,而 a.h 中还包含其他头文件,并且在 FindDirN 中,递归 Check.

[FindDirA],[FindDirB],… 变长参数,指进行递归搜索头文件的目录


  • 增加 GchTool/GetCommonInclude.cpp
./GetCommonInclude --files analyseInc-1.txt,analyseInc-2.txt --base dirA,dirB 逗号分割参数 --rate 0.9

从得到的多个频率文件中,获取共同的头文件包含,生成 AnalyseFinal.txt

base :指产生频率文件的目录,如 analyseInc-1.txt 产生于 dirA,analyseInc-2.txt 产生于 dirB
rate : 输出每个目录下频率都超过 0.9 的头文件


  • 非脚本工具 - Gcc 编译显示优化 Example/compliedisplay.py

编译完成显示每个目录编译和链接的时间


  • 非脚本工具 - 取消 gchCheck.py 使用,而使用 .d 文件,参考 GchTool/TestGchTool/dirA/Makefile
include inc.d
inc.d :inc.h
    @set -e; rm -f $@; \
         $(CXX) -M $(CXXFLAGS) $< > $@.$$$$;\
           sed 's,\($*\)\.o[ :]*,\1.h.gch $@ : ,g' < $@.$$$$ > $@; \
           rm -f $@.$$$$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值