【发布时间】:2018-05-12 19:47:50
【问题描述】:
我的项目编译速度很慢,因为单元测试使用了很多宏(可能使用了 boost 测试库)。从gcc -ftime-report来看,预处理时间成本很高。有没有办法为此优化速度?
【问题讨论】:
-
你可以看看预编译的头文件。
-
如果你大量使用宏,期望预处理器做更多的工作。如果没有有关您的代码、宏或您如何使用这些宏的信息(大量使用宏会使预处理器工作得更加困难,因为宏扩展/替换是预处理器的工作),就不可能提供有用的建议。一般的解决方案是:避免使用宏,但替代方案也有成本 - 例如编写重复的代码(劳动密集型,容易出错)或使用不同的技术(模板等),使编译器在预处理后做更多的工作。
标签: c++ gcc compilation macros c-preprocessor