我使用cppcheck 1.64的GUI版本对C ++静态代码分析 - Builde-6码。 对于DLL出口和进口的定义中, PACKAGE
是必要的:
/// A dialog exported from a BPL (a VCL-specific kind of DLL)
class PACKAGE MySharedDialog {
public:
// lots of methods to-be checked
private:
// lots of methods to-be checked
// lots of members
};
Cppcheck停止当它遇到PACKAGE
,因为它不知道这意味着什么:
代码“类包TAppInfoDialog {”没有被处理。 您可以使用-I或--include添加该代码的处理。
...这当然意味着整个类未选中。 如果我能把cppcheck 简单地忽略PACKAGE
“关键字”,它会做完全正确的事情,但怎么办呢? 包括它的原始定义通过包括路径,似乎不是一种选择:然后cppcheck告诉我很多关于 VCL框架我不能改变的头 ...
本手册没有描述的选项来做到这一点,谷歌并没有帮助,所以没有一个答案。
在cppcheck问题跟踪,我发现类似的问题#4707(微软“抽象”和“密封”扩展类) - cppcheck 。 这里的首席开发人员建议创建一个文件和(预 - ?),它包括对cppcheck跑,但我使用的GUI版本并没有选项包括一个单一的文件。 于是,我就到董事添加到我的项目的选项包括部分(XML文件),然后我编辑的相应行的文件规范,但是这显然废话,因为这部分包含包括路径 。
我可以尝试下呢?