C++:静态分析代码(和/或预处理代码)的工具

peo*_*oro 6 c++ parsing preprocessor

通常我可以使用一些工具来静态分析我的代码,以帮助我使其更清洁.像编译器警告的东西,但这些还不够.我时不时地想要写一个(使用clang库或gccxml),但我想这需要太多的工作.

我想到的一些事情是:

  1. 寻找神奇的数字(即:不同于0的硬编码常数).

  2. 检查三个规则是否始终受到尊重(每个类必须定义所有析构函数,复制构造函数和赋值运算符,或者都不定义).


我也梦想(但这些东西都是纯粹的乌托邦)关于预处理器,它解析一些非标准代码并将其转换为有效的C++代码,这个工具能够:

  1. 扩展模板别名,以便我可以在C++中使用它们(好吧,使用C++ 0x不再需要它)

  2. 在文件末尾移动内联函数,这样我就不必遵守declare-before-use规则,并且能够像在Java中一样编写内联类.

  3. 提供扩展语法,如支持自定义运算符(将在函数调用中扩展),或一些特殊语法/关键字,以轻松实现某些模式.


有没有任何工具,能够做这些事情的一部分?

否则你会建议哪些库来实现这些任务(clang libs,gccxml,...),你认为需要做多少工作?

Joh*_*ski 4

cppcheck非常棒。