gpt4 book ai didi

llvm - 如何使用clang为C代码生成报告

转载 作者:行者123 更新时间:2023-12-04 16:11:57 25 4
gpt4 key购买 nike

按照主要的 clang 静态分析器网页 ( http://clang-analyzer.llvm.org/scan-build.html ) 的指示...

我有一个充满漏洞的小 C 文件( badcode.c ):

int main(int argc, char ** argv)
{
int j;
int a[4];
puts(a[j]);
return 'a';
}

为了基本了解 clang 静态分析器(扫描构建)的话,我运行:
scan-build -v clang badcode.c
它输出:
scan-build: Emitting reports for this run to '/tmp/scan-build-2012-08-17-1'.
scan-build: 'clang' executable not found in '/usr/share/clang/scan-build/bin'.
scan-build: Using 'clang' from path: /usr/bin/clang
badcode.c:7:2: warning: implicit declaration of function 'puts' is invalid in C99 [-Wimplicit-function-declaration]
puts(a[j]);
^
1 warning generated.
scan-build: Removing directory '/tmp/scan-build-2012-08-17-1' because it contains no reports.

好的,太好了,clang 发出了一点警告,但是 a.out 仍然产生。为什么它不产生报告?初始化变量 j对于任何静态分析器来说,这应该是一个非常明显的危险信号——为什么没有报告?

我只是使用了错误的命令行参数吗?

最佳答案

尝试这个:

scan-build -k -V -o scan-reports xcodebuild clean build -configuration Debug -sdk [sdk-version] -xcconfig=[xconfig-certificate-file]

例如:
scan-build -k -V -o scan-reports xcodebuild clean build -configuration Debug -sdk iphoneos5.0 -xcconfig="/Users/username/config.xcconfig"

这应该创建一个 html 输出。

关于llvm - 如何使用clang为C代码生成报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com