所以我读了一些杂志文章和 Gimpel 的 PC-lint 和 Flexelint C/C++ 编译器的网站。
它真的很贵(至少对我来说),但似乎它可能有一些优点值得花这个钱。
所以我想知道是否有其他人使用/购买过它们并可以提供他们的意见?
我不久前曾经使用过 PC-Lint。 我个人认为这是值得投资的。 您问题的部分答案取决于其他一些因素:
1.) 您是否尝试过将编译器警告级别调到最高级别? 非常烦人,但这可以捕获任何明显的语义错误。 在投资像 PC-Lint 这样的专业工具之前我会这样做
2.) 你在为谁编码? 如果这是学校的家庭作业,那么就不值得。 如果您要出售给其他人的是软件,那么这是生成干净稳定的代码的一项很好的投资。
请注意,与任何工具一样,学习有效使用 PC-Lint 可能需要一些时间。
我刚刚将 Gimpel 的 PC-Lint 添加到构建过程中。 这是一个困难的配置,但绝对值得。 过去几年,我在几个不同的项目中使用了相同的 linting 工具。 静态代码检查工具有助于检查编译器不会检查的各种错误,即使编译器的警告设置为最高(最严格)级别也是如此。
此外,Gimpel 的工具支持 MISRA(以及不同版本 ANSI C 的特定规则)。
我同意 Onorio Catenacci 的观点,如果你正在做家庭作业,那么它可能不值得付出代价。 但如果是为了更健壮的构建过程,Lint 将帮助您在开发周期的早期发现错误,这是值得的。
我在 1985 年使用过 Gimpel 的 lint 和其他产品,并且是一位非常满意的客户。 我有一份兼职咨询工作,Gimpel 的工具使我能够更快地交付更可靠的组件。
我不知道25年来事物的相对状态发生了怎样的变化。 我很高兴看到至少在 Unix 上,Gimpel 仍在分发混淆的源代码。
这不是您所问问题的答案,但如果您正在考虑一种商业静态分析工具,您可能也应该考虑其他公司的静态分析工具。 请参阅,例如,are-c-static-code-analyis-tools-worth-it?。 我建议在问题中添加“静态分析”标签。