我可以获取typedef的名称和类型,如果它们是匿名结构等,但是普通的typedef(例如typedef int size_t
)我只能获得size_t
。如何获得类型" int"?
答案 0 :(得分:7)
差不多一年了,但这是我在搜索这个确切问题时出现的第一个结果,所以这是一个希望更好的答案:
在clang-c/Index.h中,函数clang_getTypedefDeclUnderlyingType将获得typedef类型的类型' d 来自,clang_getCursorType获取的类型为typedef& #39; d 到。澄清一下:
typedef a b;
clang_getTypedefDeclUnderlyingType
返回a
,clang_getCursorType
返回b
(均为CXType
)。
答案 1 :(得分:-2)
你做不到。 C没有类型的运行时名称,事实上当typedef
为int
时,只有编译器关心类型名称。运行时将无法区分它们。