由于单元测试使用了很多宏(可能使用了 boost 测试库),我的项目编译速度很慢。从gcc -ftime-report
可以看出预处理时间成本很高。有什么方法可以为此优化速度吗?
最佳答案
这真的取决于你的宏,但一般的想法是减少你扩展它们的次数
例如,如果您使用的是 Catch,一个好主意是将测试套件的公共(public)部分放在一个单独的共享文件中 (https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md#scaling-up)。
我从未使用过 boost 测试库,但显然他们给出了类似的建议 (http://www.boost.org/doc/libs/1_42_0/libs/test/doc/html/utf/usage-recommendations/generic.html)。
关于c++ - 有什么方法可以加速 gcc 中的宏预处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47547071/