我试着在我的项目上做静态代码分析,这个项目基本上是由.hpp文件组成的,因为所有的东西都是“模板化”的,但不幸的是,我从PSV-Studio得到的信息是头文件无法处理。这看起来有点奇怪。在现代的C++中,模板无处不在,它们大多放在头文件中。我是不是遗漏了什么?有没有办法设置PVS-Studio对头文件进行分析?
发布于 2016-06-28 20:03:19
PVS-Studio支持对“模板化”代码的分析,即使它没有被实例化。
但是,PVS-Studio需要对文件进行预处理才能对其进行分析,即所有#includes和宏都应该在分析之前展开。为此,PVS-Studio需要一个可编译文件,即传递给编译器的文件以及必要的编译器标志(定义、包含等)。只有一个头文件是不够的,因为PVS-Studio将没有足够的信息来正确地对其进行预处理。
"Unable to start analysis on this file“很可能是一个V008错误,这意味着预处理器退出时返回了非zer代码,这意味着您试图分析的文件是不可编译的。通常,PVS-Studio还会输出错误原因(来自预处理器进程的stdErr)作为下一条消息。您可以在更详细的here中阅读它。
https://stackoverflow.com/questions/13217903
复制相似问题