gpt4 book ai didi

makefile - clang++ 的静态分析器和 Makefiles

转载 作者:行者123 更新时间:2023-12-01 01:05:52 24 4
gpt4 key购买 nike

我最近发现了 clang++ 的静态分析器功能,使用细齿梳检查我的代码以查找潜在错误非常棒。我只是在我的 Makefile 中取消注释这一行:

CXXFLAGS += --analyze -Xanalyzer -analyzer-output=text

瞧,我处于深度错误检查模式。

然而,这样做的一个小问题是,只要分析器在特定的 .cpp 文件中没有发现任何问题,就不会生成任何 .o 文件。

通常这没什么大不了的(我总是可以重新注释上面的行以构建实际的可执行文件),但通常当我看到分析器警告时,我想做的第一件事就是尝试修复潜在的问题然后重新运行make。

...这是可行的,但由于没有生成 .o 文件,make 将从头开始重新分析所有 .cpp 文件,而不仅仅是我自上次运行以来实际修改的 .cpp 文件。这意味着我最终会花费大量时间重新检查未更改的 .cpp 文件。

我的问题是,有没有办法让静态分析器输出一个 .o 文件(它不必是一个有效的目标文件,只要是带有更新时间戳的任何文件),以便 Make 知道一个“干净的” .cpp 文件不需要重新处理? (即使 Make 的工作方式与进行正常编译时的工作方式相同)

最佳答案

查看 clang static analyzer page ,并在那里获取软件包以供下载。您可以使用包含的 scan-build工具来做你正在尝试的事情。

正常的使用方法是去掉上面的标志,然后运行:

$ scan-build make whatever

它应该“正常工作”。如果您不使用标准 make,您可能需要传递更多标志或设置一些环境变量。变量名。

关于makefile - clang++ 的静态分析器和 Makefiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18730363/

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