在 Visual Studio C++ 中打印每个文件的编译时间

2024-02-11

我如何创建一个表来获取 Visual Studio 2005 项目中每个 C++ 文件的编译时间。


我使用的是 Visual Studio 2010,但其他版本的 Visual Studio 可能有类似的东西。在 VS2010 中,您可以添加到命令行选项 /Bt+,它会打印编译每个文件所需的时间。因此,在“配置属性”->“C/C++”->“命令行”->“其他选项”下的项目属性中添加 /Bt+

设置 /Bt+ 选项会产生如下输出(记录在日志文件中)行:

time(c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\c1.dll)=0.05110s < 25394686804 - 25394831194 > BB [C:\not-important\nlopt-2.4.2\direct\DIRect.c]

有关此选项的更多信息,请访问https://blogs.msdn.microsoft.com/vcblog/2010/04/01/vc-tip-get-detailed-build-throughput-diagnostics-using-msbuild-compiler-and-linker/ https://blogs.msdn.microsoft.com/vcblog/2010/04/01/vc-tip-get-detailed-build-throughput-diagnostics-using-msbuild-compiler-and-linker/感谢这个答案我找到了https://stackoverflow.com/a/3513043/453436 https://stackoverflow.com/a/3513043/453436

有很多方法可以提取时间线,具体取决于您可以使用的工具。我是在 bash shell 下结合 find、grep 和 perl 完成的。下面将为您提供从最长到最先排序的编译时间。

find . -name '*.log' | xargs grep time | perl -ne '$_ =~ /=(.*?)s.*\[(.*)\]/; print "$1 $2\n";' |sort -rn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio C++ 中打印每个文件的编译时间 的相关文章

随机推荐