如果在 C++ 中,如何分析
Posted
技术标签:
【中文标题】如果在 C++ 中,如何分析【英文标题】:How to profile if in C++ 【发布时间】:2016-07-21 15:21:32 【问题描述】:是否有工具可以知道我的正确次数和错误次数
例如:
if (vector.size() == 1)
return;
do_something();
如果这个是真的,怎么知道多少次?
【问题讨论】:
为每个分支添加计数? TotalCount = TrueCount + FalseCount 要求推荐工具的问题在 SO 中是题外话。这样的工具有很多(也可以使用内嵌代码) 【参考方案1】:如果这段代码在函数内部,你可以使用静态变量:
void function()
static int cptTrue;
static int cptFalse;
if (vector.size() == 1)
cptTrue++;
return;
cptFalse++;
do_something();
【讨论】:
【参考方案2】:对于 Windows,有一个工具可以显示函数被调用的频率。从库到函数和行构建了一个树,它显示了 cpu 使用百分比。但是,如果您想确切知道一条线路被调用了多少次,最好的方法是按照 baddger964 的建议手动计算它们。
very sleepy
【讨论】:
有很多代码覆盖率工具可以告诉你每行执行了多少次(甚至是否采用了分支)。以上是关于如果在 C++ 中,如何分析的主要内容,如果未能解决你的问题,请参考以下文章
如何在我自己的代码中使用 Visual C++ 在不运行静态代码分析的情况下导致 SAL 编译器警告