Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 找出哪些代码在C++;Visual Studio 2012中的项目_C++_Visual Studio_Code Analysis_Dead Code - Fatal编程技术网

C++ 找出哪些代码在C++;Visual Studio 2012中的项目

C++ 找出哪些代码在C++;Visual Studio 2012中的项目,c++,visual-studio,code-analysis,dead-code,C++,Visual Studio,Code Analysis,Dead Code,我正在使用VS2012,我想知道我的项目中的哪些代码从未被调用。我怎么做 这是我为死代码分析尝试过的菜单,但在这里没有找到 简短回答:Visual Studio不支持此功能1 可查找未调用函数的代码分析检查器仅适用于托管(即.NET)代码,例如 静态分析C++代码是非常困难的,并且只有很少的与未使用/冗余/不可达代码相关: :“(| |)始终是非零常量” :“(| |)始终是非零常量” :“(&&&)始终为零。从未计算过,可能会产生副作用” :“(&&)的计算结果始终为。是否要使用按位and运

我正在使用VS2012,我想知道我的项目中的哪些代码从未被调用。我怎么做

这是我为死代码分析尝试过的菜单,但在这里没有找到


简短回答:Visual Studio不支持此功能1

可查找未调用函数的代码分析检查器仅适用于托管(即.NET)代码,例如

<>静态分析C++代码是非常困难的,并且只有很少的与未使用/冗余/不可达代码相关:

  • :“(| |)始终是非零常量”
  • :“(| |)始终是非零常量”
  • :“(&&&)始终为零。从未计算过,可能会产生副作用”
  • :“(&&)的计算结果始终为。是否要使用按位and运算符?”
  • :“(&&)的计算结果始终为。是否要使用按位and运算符?”
  • :“无法访问带标签的代码:(&)在开关expr中无法计算为”
  • :“可能的操作顺序不正确:已忽略取消引用”
  • :“(| |)始终是非零常量。是否要使用按位and运算符?”
  • :“(| |)始终是一个非零常量。从未计算过,并且可能有副作用”
  • :“冗余代码:左、右子表达式相同”
  • :“运算符不正确:&&上的相互包含始终为零。您是否打算改用| |?”
  • :“运算符不正确:| |上的互斥始终是非零常量。是否要改用&&?”
  • :“循环定义不正确:初始条件不满足测试。未执行循环体”
  • :“运算符不正确:无法使用位和测试零值标志。请使用相等测试检查零值标志”
  • :“运算符不正确:测试的表达式为常量且非零。请使用按位和确定是否设置了位”
  • :“在测试表达式中使用逗号运算符会导致在没有副作用时忽略左参数”
所有这些规则都表示一个bug,或者指向从未执行过的冗余代码。该列表适用于Visual Studio 2017中实现的代码分析规则。VisualStudio的早期版本可能不会为所有这些文件提供检查程序



1在撰写本文时最新版本Visual Studio 2017之前(包括该版本)都是如此。

简短回答:Visual Studio不支持此1

可查找未调用函数的代码分析检查器仅适用于托管(即.NET)代码,例如

<>静态分析C++代码是非常困难的,并且只有很少的与未使用/冗余/不可达代码相关:

  • :“(| |)始终是非零常量”
  • :“(| |)始终是非零常量”
  • :“(&&&)始终为零。从未计算过,可能会产生副作用”
  • :“(&&)的计算结果始终为。是否要使用按位and运算符?”
  • :“(&&)的计算结果始终为。是否要使用按位and运算符?”
  • :“无法访问带标签的代码:(&)在开关expr中无法计算为”
  • :“可能的操作顺序不正确:已忽略取消引用”
  • :“(| |)始终是非零常量。是否要使用按位and运算符?”
  • :“(| |)始终是一个非零常量。从未计算过,并且可能有副作用”
  • :“冗余代码:左、右子表达式相同”
  • :“运算符不正确:&&上的相互包含始终为零。您是否打算改用| |?”
  • :“运算符不正确:| |上的互斥始终是非零常量。是否要改用&&?”
  • :“循环定义不正确:初始条件不满足测试。未执行循环体”
  • :“运算符不正确:无法使用位和测试零值标志。请使用相等测试检查零值标志”
  • :“运算符不正确:测试的表达式为常量且非零。请使用按位和确定是否设置了位”
  • :“在测试表达式中使用逗号运算符会导致在没有副作用时忽略左参数”
所有这些规则都表示一个bug,或者指向从未执行过的冗余代码。该列表适用于Visual Studio 2017中实现的代码分析规则。VisualStudio的早期版本可能不会为所有这些文件提供检查程序



1在Visual Studio 2017年之前(包括2017年)都是如此,撰写本文时的最新版本。

您可以尝试使用CQLinq查询代码库并获取静态分析可以检测为死代码的内容。

您可以尝试使用CQLinq查询代码库并获取静态分析可以检测为死代码的内容的加载项代码。

@user202729,我看到了这篇文章,但是我没有找到
在构建时启用代码分析
复选框。查找死代码是一个困难的问题。例如,当代码是库的一部分时,它可能死在库中,但仍然可以被库的用户使用。还有,为什么你还在使用6年前的VS版本?已经走出黑暗时代了。@JesperJuhl,我有一个没有任何库的项目。而且它很小。我只是想自动检查一下使用情况。@hotcolddog查看一些工具,比如查找死代码。另外,将编译器警告设置为max..@user202729,我看到了帖子,但我无法找到
在构建时启用代码分析
复选框。查找死代码是一个困难的问题。例如,当代码是库的一部分时,它可能死在库中,但仍然可以被库的用户使用。还有,为什么你还在使用6年前的版本