如何解决如何仅通过CLANG检查一位检查员?
如何仅通过CLANG检查一位检查员?
当我使用clang检查警告时,我使用这种方式
# clang --analyze *.c
我只想使用一个检查器
ex)内核。仅DivideZero(C,C ++,ObjC)
请告诉我一些选择!
解决方法
要使用clang --analyze
运行单个检查器,请将--analyzer-no-default-checks -Xanalyzer -analyzer-checker=<checker>
添加到命令行。例如:
$ clang --analyze --analyzer-no-default-checks -Xanalyzer -analyzer-checker=core.DivideZero hello.c
hello.c:44:12: warning: Division by zero
return 6 / z;
~~^~~
1 warning generated.
在这种情况下,hello.c
包含三种默认会报告的各种缺陷,但是通过仅启用core.DivideZero
,只会报告一个缺陷。引发此报告的代码片段为:
int divide_by_zero()
{
int z = 0;
return 6 / z;
}
我主要是通过查看Clang Command Line Argument Reference来弄清楚如何运行单个检查程序的,但这还不是很清楚,因此也需要一些试验和错误。 clang
程序是一种多功能前端,可以在后台调用其他工具,因此可以使用正确的-X
,-
和{ --
前缀有点挑战。
Available Checkers的列表也很有用,其中包括诸如core.DivideZero
之类的名称。
我在Linux / x86_64上使用clang + llvm版本3.7.1和8.0.1进行了测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。