相关文章:
C++ 提高编译速度 (二) 解决方案实现 | 预编译头 多核编译
进行编译优化后,发现在多核编译中, 目录A产生编译错误时,目录B不会停下来编译,会将错误信息刷屏,我们需要花很多时间向上滚屏翻记录,十分不友好;另外冗余的编译信息(如编译参数 链接参数 都可以在 Makefile 中查看)对我们用处不大。
于是编写脚本,在编译时收集编译信息,友好的展示出来: compliedisplay.py
代码与使用示例: https://github.com/wangxiaobai-dd/Compilation/tree/main/Example
旧的编译信息输出:
修改后:
使用方法:
- 修改项目 Makefile
红框:调用脚本,我放在了targetA中调用,后台会fork子进程
绿框:ENTRY = ‘$@file’、DIR=$(DIRB)、 2>>$@error 将信息传给编译的子目录,编译信息会写入文件 targetAfile,错误信息写入文件 targetAerror , 对于targetB 则是 targetBfile targetBerror
黄框:表示 target 编译结束
- 修改子目录下 Makefile ,举例 dirA/Makefile
红框:开始编译文件
绿框:开始链接
注意在这些命令前加上@, 在 $(CXX) xxxx 前也加上,这样就不会打印这条执行语句了。
-
make -jN 编译即可