编译相关
1. GCC裁剪文件大小
GCC默认把调试信息放到可执行文件中,可以将这些内容分离,减少文件大小,加快打包时间。
- objcopy –only-keep-debug project project.dbg //拷贝出一个符号表文件
- objcopy –strip-debug project //移除调试信息
- objcopy –add-gnu-debuglink= project.dbg project //添加调试信息链接
2. 调试时只需要加上路径
gdb –e project –s project.dbg
结合crash信息找到具体函数位置:
1) info address
2) info line *(0x...)
3. 通过graphviz获得CMake文件编译的整个库之间的关系,从而分析错误的库依赖
1) 编译配置调整
cmake -D UT_TEST=ON -D CMAKE_BUILD_TYPE=DEBUG ${cmakefile_dir} --graphviz=dependencies/graph
2) 会生成一系列的库依赖文件,为了看起来简单可以利用graphviz的图形工具查看
http://www.graphviz.org/Download_windows.php
3) 找到循环依赖,参考下面文档
http://blog.jasonantman.com/2012/03/python-script-to-find-dependency-cycles-in-graphviz-dot-files/
4. 编译加速
CCache
https://www.ibm.com/developerworks/cn/linux/l-ccache.html
浙公网安备 33010602011771号