Windows上的Clang静态分析器

dot*_*nix 5 clang visual-studio-2008 clang-static-analyzer

有没有人在Windows上运行clang静态分析器?

我已经成功构建了llvm和clang(使用VS 2008).运行scan-build会导致以下错误:

The getpwuid function is unimplemented at scan-build line 35.
Run Code Online (Sandbox Code Playgroud)

一些研究表明,Windows平台不支持getpwuid.

P M*_*P M 3

将呼叫更改为...

my $UserName =  HtmlEscape('unknown')
Run Code Online (Sandbox Code Playgroud)

scan-build 是一个 perl 脚本,因此需要一些方便的修复才能在 Windows 上执行 scan build ..这些是

-> 指向那些变量查看绝对物理路径

my $ClangSB, my $Clang; $Dir = "/tmp"; my $Cmd ; and my $CmdCXX
Run Code Online (Sandbox Code Playgroud)

请记住,我的 $Cmd ;我的 $CmdCXX 是 ccc-analyzer 和 c++-analyzer 的路径...它们也是 perl 脚本,所以请在绝对路径字符串前面放置一个 perl -w 。

并且在声明后立即禁用变量检查...

!-x $blaBla 在 Windows 上有问题...

除此之外你还需要这些改变

--> 改变

open(PIPE, "-|", $Clang, "-cc1", "-help") or
Run Code Online (Sandbox Code Playgroud)

open(PIPE, "-|", "$Clang"." -cc1"." -help") or
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,scan-build 可以在 Windows 上运行..:)