Cppcheck解析后缺失枚举、结构体等多种Scope Type问题咨询
Cppcheck .dump文件未生成枚举类型独立作用域问题
我们近期在使用Cppcheck工具时,发现除作用域(Scope)相关功能外其余均正常工作。根据Cppcheck文档中的ScopeType枚举类型以及misra_8_12规则,我原本认为解析生成的.dump文件中应该为枚举、结构体、联合体等类型生成独立作用域,但实际解析示例头文件后,仅得到global作用域和testfct函数的function作用域,week枚举对应的作用域既未被解析出来,也没有出现在.dump XML结果文件中。
相关文件与命令
示例头文件(test.h)
typedef enum { MONDAY, TUESDAY, WEDNESDAY } week; void testfct(void) { int x = MONDAY; }
用于查看作用域的Python脚本
import xml.etree.ElementTree as ET tree = ET.parse('test.dump') root = tree.getroot() for scope in root.findall('.//scope'): print(f"Scope name: {scope.get('name')}, Scope type: {scope.get('type')}")
Cppcheck调用命令
cppcheck --dump test.h
现在想咨询:是否是我对Cppcheck的Scope功能存在理解偏差,或是有未正确配置的地方?
内容的提问来源于stack exchange,提问作者Nikeau
相关产品推荐
相关产品推荐

