什么开源C ++静态分析工具可用?

Java有一些非常好的开源静态分析工具,例如FindBugs,Checkstyle和PMD。 这些工具易于使用,非常有用,可在多个操作系统上运行并免费使用。

商业C ++静态分析产品可从供应商Klocwork,Gimpel和Coverity获得。 还有一些鲜为人知的PVS-Studio分析仪。 虽然有这样的产品很好,但对学生来说成本太高了,通常很难获得试用版本。

另一种方法是找到可在多种平台(Windows和Unix)上运行的开源C ++静态分析工具。 通过使用开源工具,可以对其进行修改以适应某些需求。 找到工具并非易事。

以下是其他人发现或建议的C ++静态分析工具的简短列表。

  • C ++检查http://sf.net/projects/cppcheck/
  • Oink http://danielwilkerson.com/oink/index.html
  • C和C ++代码计数器http://sourceforge.net/projects/cccc/
  • Splint(来自答案)
  • Mozilla的猪肉(来自答案)(这现在是Oink的一部分)
  • Mozilla的Dehydra(来自答案)
  • 使用选项-Weffc++ for GNU g ++(来自答案)
  • 什么是任何人都知道并可以推荐的其他便携式开源C ++静态分析工具?

    一些相关的链接。

  • Windows上的C ++静态代码分析工具
  • http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
  • http://www.chris-lott.org/resources/cmetrics/
  • 针对一组编码标准检查C / C ++源代码的免费工具?
  • http://spinroot.com/static/
  • 选择一个静态代码分析工具

  • Oink是一个建立在Elsa C ++前端之上的工具。 Mozilla's Pork是Elsa / Oink的一个分支。

    请参阅:http://danielwilkerson.com/oink/index.html


    CppCheck是开源和跨平台的。

    Mac OSX:

    brew install cppcheck
    

    关于GNU编译器,gcc已经有了一个内置的选项,可以为-Wall的那些提供额外的警告。 选项是-Weffc ++ ,它是关于违反Scott Meyers在他的着作“Effective and More Effective C ++”中发表的一些指导方针。

    特别是该选件可检测以下项目:

  • 为具有动态分配内存的类定义复制构造函数和赋值运算符。
  • 建议在构造函数中初始化赋值。
  • 使基类中的析构函数变为虚拟。
  • 让“operator =”返回对* this的引用。
  • 当你必须返回一个对象时,不要试图返回一个引用。
  • 区分增量和减量运算符的前缀和后缀形式。
  • 切勿超载“&&”,“||”或“,”。
  • 链接地址: http://www.djcxy.com/p/40247.html

    上一篇: What open source C++ static analysis tools are available?

    下一篇: Learning C++ Language