【问题标题】:Any tips for speeding up static analysis tool PC-Lint? Any experiences using .LOB files?加快静态分析工具 PC-Lint 的任何提示?有使用 .LOB 文件的经验吗?
【发布时间】:2012-11-26 10:07:19
【问题描述】:
我有兴趣了解影响 PC-lint-ing 时间的主要因素。我知道一些诸如-passes(#) 会增加PC-Lint 花费的时间(线性增加?)或者减少输出的消息不会影响linting 时间。我希望通过让你们中的一位对 lint 更有经验的人列出他们遇到的影响 lint 时间的主要因素来验证我对 lint 性能的理解。
另外,你们有没有使用 PC-Lint 的 .lob 文件的经验。你会说它对 linting 时间的影响有多大?
【问题讨论】:
标签:
performance
static-analysis
lint
pc-lint
【解决方案1】:
我得到的主要加速是当我开始将 Lint 有时大量的输出重定向到一个文件而不是 Windows 上的常规 DOS 框时,然后在编辑器中查看该文件。
如果通过次数足够高,-passes 选项几乎会线性增加时间,但在使用 2 或 3 时并非如此,因为除了第一次通过之外不需要预处理/解析阶段。
我的经验是,对于非常大的项目,外部包含防护或(Microsoft)选项+pragma(once,once) - 如果始终使用#pragma once - 可能会导致速度大幅提升。在一个项目中,我将编译时间减少了 20 多倍,而 linting 时间也减少了一点......
使用 .lob 文件就像编译成对象然后链接对象:这取决于你的 makefile 的效率,而速度的提高取决于你刚刚更改了多少以及哪些文件。但请注意,使用 .lob 文件并不像一次性检查所有文件那样彻底;有些问题必须忽略,因为 .lob 文件只包含源文件的表示。