C++ Visual Studio 2012中的.cpp编译时跟踪

C++ Visual Studio 2012中的.cpp编译时跟踪,c++,visual-studio-2012,compilation,C++,Visual Studio 2012,Compilation,我必须跟踪每个项目中每个.cpp的编译时间。无法使用VS中的默认时间跟踪,因为此工具跟踪项目的时间,而不是每个.cpp 你知道怎么做吗?这其实并不难,可以在Visual Studio中找到。这是一个未记录的特性(图…),但可以很好地报告各个编译时间。这里有一个例子 3>------ Build started: Project: SomeProject, Configuration: Debug x64 ------ 3> stdafx.cpp 3> time(C:\Pro

我必须跟踪每个项目中每个.cpp的编译时间。无法使用
VS
中的默认时间跟踪,因为此工具跟踪项目的时间,而不是每个
.cpp


你知道怎么做吗?

这其实并不难,可以在Visual Studio中找到。这是一个未记录的特性(图…),但可以很好地报告各个编译时间。这里有一个例子

3>------ Build started: Project: SomeProject, Configuration: Debug x64 ------
3>  stdafx.cpp
3>  time(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\c1xx.dll)=1.468s
3>  time(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\c2.dll)=0.048s
3>  SortStringArray.cpp
3>  time(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\c1xx.dll)=0.030s
3>  Registry.cpp
3>  time(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\c1xx.dll)=0.026s
3>  PropertyRoot.cpp
3>  time(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\c1xx.dll)=0.255s

要启用此功能,需要为要跟踪的每个项目向C/C++命令行添加未记录的编译开关/Bt。有关可用于计时的内容的更多信息,请查看此项。

从未执行过此操作,但您可以从命令行(
cl
我认为是VS编译器)将每个文件编译为对象。这很容易测量。因此,您基本上必须在这里创建一个Makefile或compile scriptWild,编写一个假的
cl.exe
,调用真实的脚本,将命令行参数传递给它并记录其执行时间。您还可以调查自定义构建步骤(或类似的步骤)是否涵盖每个翻译单元的编译开始和结束的事件。@SirDarius喜欢你的想法。我很害怕。。非常感谢,波洛夫,小天狼星。我试试这个。谢谢你的建议。