# Cppcheck 使用指南 ## 基本信息 - **Cppcheck 位置**: `/usr/bin/cppcheck` (系统已安装) - **项目文件**: `/home/feng/test/math.c` - **项目目录**: `/home/feng/test/` ## 基本使用命令 ### 1. 生成 XML 报告(推荐,用于 cppcheck_to_tests.py) ```bash # 在 WSL 中执行 cppcheck --enable=all --xml --xml-version=2 /home/feng/test/math.c 2> /home/feng/test/report.xml ``` 或者更详细的选项: ```bash cppcheck \ --enable=all \ --xml \ --xml-version=2 \ --suppress=missingIncludeSystem \ --suppress=unusedFunction \ /home/feng/test/math.c \ 2> /home/feng/test/report.xml ``` ### 2. 生成文本报告 ```bash cppcheck --enable=all /home/feng/test/math.c 2> /home/feng/test/report.txt ``` ### 3. 直接查看输出(不保存文件) ```bash cppcheck --enable=all /home/feng/test/math.c ``` ### 4. 检查整个项目目录 如果 `/home/feng/test/` 下有多个文件: ```bash cppcheck --enable=all --xml --xml-version=2 /home/feng/test/ 2> /home/feng/test/report.xml ``` ## 常用选项说明 - `--enable=all`: 启用所有检查(包括 style、performance、portability 等) - `--xml`: 输出 XML 格式 - `--xml-version=2`: 使用 XML 版本 2(推荐) - `--suppress=规则ID`: 抑制特定规则的警告 - `-I <路径>`: 添加头文件搜索路径 - `--std=c99` 或 `--std=c11`: 指定 C 标准(对于 .c 文件) ## 完整示例:生成报告并用于测试用例生成 ### 步骤 1: 生成 XML 报告 ```bash cd /home/feng/report cppcheck --enable=all --xml --xml-version=2 /home/feng/test/math.c 2> /home/feng/test/cppcheck_report.xml ``` ### 步骤 2: 使用 cppcheck_to_tests.py 生成测试用例 ```bash cd /home/feng/Report-Generation python3 cppcheck_to_tests.py \ /home/feng/test/cppcheck_report.xml \ --project-root /home/feng/test \ --out ./math_cppcheck_tests \ --model deepseek-chat \ --auto-verify \ --use-templates ``` ## 从 Windows PowerShell 执行 如果要从 Windows PowerShell 执行,使用 `wsl` 命令: ```powershell wsl cppcheck --enable=all --xml --xml-version=2 /home/feng/test/math.c 2> /home/feng/test/report.xml ``` ## 验证 cppcheck 版本 ```bash cppcheck --version ``` ## 查看帮助 ```bash cppcheck --help ``` ## 针对 C 文件的推荐命令 由于 `math.c` 是 C 文件,建议指定 C 标准: ```bash cppcheck \ --enable=all \ --xml \ --xml-version=2 \ --std=c99 \ --suppress=missingIncludeSystem \ /home/feng/test/math.c \ 2> /home/feng/test/report.xml ```