使用libclang获取typedef类型和名称



我可以得到的名称和类型的类型,如果他们是匿名结构等,但正常的类型(如typedef int size_t)我只能得到size_t。我怎样才能得到类型"int"?

几乎晚了一年,但这是我搜索这个确切问题时出现的第一个结果,所以这里有一个希望更好的答案:

在clang-c/Index.h中,clang_getTypedefDeclUnderlyingType函数将从中获得类型定义的类型,clang_getCursorType将获得类型定义的类型。为了澄清,对于这行:

typedef a b;

clang_getTypedefDeclUnderlyingType返回a, clang_getCursorType返回b(都作为CXType)。

你不能那样做。C没有类型的运行时名称,事实上,当您将typedef设置为int时,只有编译器关心类型名称。运行时将无法区分它们

最新更新