2

我有兴趣了解影响 PC-lint-ing 时间的主要因素。我知道一些,例如-passes(#)哪些会增加 PC-Lint 花费的时间(线性增加?),或者减少输出的消息不会影响 lint 时间。我希望通过让你们中的一位对 lint 更有经验的人列出他们遇到的影响 lint 时间的主要因素来验证我对 lint 性能的理解。

另外,你们中的任何人都有使用 .lob 文件和 PC-Lint 的经验吗?你会说它对棉绒时间的影响有多大?

4

1 回答 1

4

我得到的主要加速是当我开始将 Lint 有时大量的输出重定向到一个文件而不是 Windows 上的常规 DOS 框时,然后在编辑器中查看该文件。如果通道数足够高,该-passes选项几乎会线性增加时间,但在使用 2 或 3 时不会完全增加,因为除了第一次通道外,不需要预处理/解析阶段。我的经验是,对于非常大的项目,外部包含防护或(Microsoft)选项+pragma(once,once)- 如果#pragma once一直使用 - 可能会导致速度大幅提升。在一个项目中,我将编译时间减少了 20 多倍,而 linting 时间也减少了一点……

使用 .lob 文件就像编译成对象然后链接对象:这取决于您的 makefile 的有效性,而速度的提高取决于您刚刚更改了多少以及哪些文件。但请注意,使用 .lob 文件并不像一次性检查所有文件那样彻底;有些问题必须忽略,因为 .lob 文件仅包含源文件的表示。

于 2012-11-28T16:42:39.283 回答