我想嘗試一下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