3

無名構造体などであれば、typedef の名前と型を取得できますが、通常の typedef (例typedef int size_t) は しか取得できませんsize_t。タイプ「int」を取得するにはどうすればよいですか?

4

2 に答える 2

11

ほぼ1年遅れましたが、これは私がこの正確な質問を探していたときに出てきた最初の結果なので、うまくいけばより良い答えです:

clang-c/Index.hでは、関数clang_getTypedefDeclUnderlyingTypeは typedefからtypedef された型を取得し、clang_getCursorTypeは typedefれた型を取得します。明確にするために、次の行について:

typedef a b;

clang_getTypedefDeclUnderlyingTypereturns a、およびclang_getCursorTypereturn b(両方とも としてCXType)。

于 2015-05-16T00:20:24.397 に答える
-3

それをしてはいけない。C には型のランタイム名がありません。実際、typedef何かを として使用する場合int、型名を気にするのはコンパイラだけです。ランタイムはそれらを区別できません。

于 2014-08-21T00:44:27.030 に答える