我倾向于编写相当大的模板化标头 C++ 库,而我的用户经常抱怨编译时间。经过思考这个问题,我突然想到我不知道时间都去哪儿了。是否有一些简单的方法来分析常见编译器的 C++ 编译过程,例如GCC (g++
), 英特尔 C++ 编译器 (icc
), and XL C/C++ (xlC
)?例如,是否可以了解在该时间内花费了多少时间?C++编译的每个阶段?
For GCC有调试选项找到C++ 编译的每个阶段花费了多少时间?
-Q使编译器在编译时打印出每个函数名称,并在完成时打印有关每次传递的一些统计信息。
-ftime-报告使编译器在完成时打印有关每次传递所消耗时间的一些统计信息。
通行证的描述见GCCINT 9:编译器的传递和文件.
您可以使用以下命令发布单个源文件的 g++ 编译的输出-v -ftime-report
到这里讨论一下。可能会有一些帮助海湾合作委员会邮件列表.
对于编译器除海湾合作委员会以外(或海湾合作委员会更古老的 than 3.3.6),请参阅其他答案中的其他选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)