栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 $@.$$$$
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/968301.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号