3

如果它们是匿名结构等,我可以获得 typedefs 的名称和类型,但正常的 typedefs(eg typedef int size_t) 我只能获得size_t. 我怎样才能得到类型“int”?

4

2 回答 2

11

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

clang-c/Index.h中,函数clang_getTypedefDeclUnderlyingType将获取 typedef 的 typedef来自的类型,而clang_getCursorType获取它的 typedef类型。为了澄清,对于这条线:

typedef a b;

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

于 2015-05-16T00:20:24.397 回答
-3

你不能这样做。C 没有类型的运行时名称,实际上当您使用typedefas时int,只有编译器关心类型名称。运行时将无法区分它们。

于 2014-08-21T00:44:27.030 回答