如果它们是匿名结构等,我可以获得 typedefs 的名称和类型,但正常的 typedefs(eg typedef int size_t
) 我只能获得size_t
. 我怎样才能得到类型“int”?
1640 次
2 回答
11
晚了将近一年,但这是我在搜索这个确切问题时出现的第一个结果,所以这里有一个希望更好的答案:
在clang-c/Index.h中,函数clang_getTypedefDeclUnderlyingType将获取 typedef 的 typedef来自的类型,而clang_getCursorType获取它的 typedef的类型。为了澄清,对于这条线:
typedef a b;
clang_getTypedefDeclUnderlyingType
返回a
和clang_getCursorType
返回b
(都作为 a CXType
)。
于 2015-05-16T00:20:24.397 回答
-3
你不能这样做。C 没有类型的运行时名称,实际上当您使用typedef
as时int
,只有编译器关心类型名称。运行时将无法区分它们。
于 2014-08-21T00:44:27.030 回答