使用叮当绑定提取类型字符串

2024-10-05 10:08:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个python脚本(使用python-clang绑定),它解析C头并提取有关函数的信息:名称、返回类型、参数类型。在

我在提取函数名方面没有问题,但是我找不到一种将clang.cindex.Type转换为C类型字符串的方法。(例如clang.cindex.TypeKind.UINT到{})

目前,作为一个临时解决方案,我有一个字典clang.cindex.TypeKind -> C type string和处理指针和常量限定符的代码,但我没有找到一种方法来提取结构名。在

有没有一种通用的方法来获得clang.cindex.Type的C定义?如果没有,我如何获得clang.cindex.TypeKind.RECORDclang.cindex.TypeKind.FUNCTIONPROTO类型的C类型字符串?在


Tags: 方法函数字符串脚本名称信息类型参数
1条回答
网友
1楼 · 发布于 2024-10-05 10:08:30

对于RECORD,函数get_declaration()指向类型的声明(a unionenumstruct,或typedef);获取节点的拼写将返回其名称。(显然,要注意区分TYPEDEF_DECL与底层声明类型之间的区别。)

对于FUNCTIONPROTO,必须使用get_result()和{}的组合。在

相关问题 更多 >

    热门问题