Cpp检查规则不显示 #define,注释
CppCheck rule not show #define, comment
我正在为 cppCheck 创建自定义规则。当我创建规则时,例如不允许在项目中 #define。但是 --rule=.+ 在我的测试项目中没有显示 #define。 cppcheck 是否有任何选项或标志在我的代码中显示 #define?
我的规则文件:
<?xml version="1.0"?>
<rule version="1">
<pattern>#define</pattern>
</rule>
我的例子:
#define TEST 1
int main() {
int a = TEST;
return 0;
}
> https://sourceforge.net/projects/cppcheck/files/Articles/writing-rules-2.pdf
的文档指出:"Cppcheck 数据已预处理。没有评论,#define,#include 等。
作为替代方案,您可以使用cppcheck --dump yourfile.c
创建XML转储,并对转储进行后处理,例如通过Python脚本。 然后,示例的#define TEST 1
行是"rawtokens
和directivelist
"部分的一部分。 一些 Cppcheck 插件就是这样做的(例如 Python MISRA-C 插件(。请参阅 GitHub 上 Cppcheck 的"插件"目录。在此目录中,还有一个 Python 帮助程序脚本cppcheckdata.py
它读取转储文件并为令牌、函数等创建对象列表。
相关文章:
- Visual Studio 2019:插入多个C++风格的单行注释
- 与C代码相比,为什么C++代码不需要"#define _POSIX_C_SOURCE 200809L"?
- 以下 C++ 代码用于 -> "#define idiv(a, b) (((a) + (b) / 2) / (b))" 是什么?
- 如何以静态代码分析友好的方式使用 #define 防护?
- C++相当于整数的 #define
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 我们可以用 C 语言嵌套 #define 和 #if 吗?
- 如何将旧的 C 样式 #define 映射与现代C++进行调整?
- VSCode 中带有 C/C++ 扩展名的多行注释缩进错误
- 如果我注释掉换行符,为什么'string'会成为一个不合格的变量
- 找不到 #define 的函数定义
- "#define X X"是什么意思?
- 为什么 ## aka 令牌粘贴运算符不适用于 C 和 C++ 中的注释?
- 使用 constexpr 替换 #define 和 #ifdef 进行条件编译
- 在 // C++注释中使用 \\ 是否合法?(C++评论中的LaTeX方程)
- 野牛/flex:计算器将双精度值解释为整数,所以我添加了 YYSTYPE 双精度 #define 但我有多个编译错误
- 注释一行使代码工作,而没有它,代码不起作用
- Cpp检查规则不显示 #define,注释
- 氧文档注释#define