我想尝试一下clang静态分析仪。我在Windows上并使用Visual Studio构建了clang。它似乎工作,但同时它似乎是无用的。Clang静态分析仪没有找到最基本的问题
我做出了表率文件
example.c
int main(void)
{
int h = 0;
return 1/h;
}
调用scan-build gcc -c example.c
发现任何错误。
example.c
int main(void)
{
int h;
return 1/h;
}
调用scan-build gcc -c example.c
认定没有错误。
example.c
int main(void)
{
return 1/0;
}
调用scan-build gcc -c example.c
认定没有错误。
如果找不到这些最基本的错误(它们可以通过clang本身找到),那么静态分析仪又有什么用处呢?
我的gcc
是MinGW,如果这很重要。我也试过用clang
代替,但没有任何发生。
我在这里做错了什么?
确实看起来该工具是纯粹的废话。根据你的测试,你不需要互联网上的人告诉你,你已经得出这个结论。只需卸载它并获得另一个。 – Lundin
@Lundin似乎有很多项目将信仰融入到LLVM框架中。例如由Mozilla基金会支持的Rust语言。我无法想象所包含的静态分析器是无用的。也许我错过了一些非常基本的东西,例如一些隐藏的配置。 – CodeMonkey
我还没有使用过这个特殊的静态分析器,但还有很多其他的。作为一个经验法则,总是假设它们被破坏无法修复。 – Lundin