使用libclang获取typedef类型和名称?

时间:2014-08-21 00:32:16

标签: c typedef libclang

我可以获取typedef的名称和类型,如果它们是匿名结构等,但是普通的typedef(例如typedef int size_t)我只能获得size_t。如何获得类型" int"?

2 个答案:

答案 0 :(得分:7)

差不多一年了,但这是我在搜索这个确切问题时出现的第一个结果,所以这是一个希望更好的答案:

clang-c/Index.h中,函数clang_getTypedefDeclUnderlyingType将获得typedef类型的类型' d 来自clang_getCursorType获取的类型为typedef& #39; d 。澄清一下:

typedef a b;

clang_getTypedefDeclUnderlyingType返回aclang_getCursorType返回b(均为CXType)。

答案 1 :(得分:-2)

你做不到。 C没有类型的运行时名称,事实上当typedefint时,只有编译器关心类型名称。运行时将无法区分它们。