工具:
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[ :]*,.h.gch $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)