無名構造体などであれば、typedef の名前と型を取得できますが、通常の typedef (例typedef int size_t
) は しか取得できませんsize_t
。タイプ「int」を取得するにはどうすればよいですか?
質問する
1640 次
2 に答える
11
ほぼ1年遅れましたが、これは私がこの正確な質問を探していたときに出てきた最初の結果なので、うまくいけばより良い答えです:
clang-c/Index.hでは、関数clang_getTypedefDeclUnderlyingTypeは typedefからtypedef された型を取得し、clang_getCursorTypeは typedefされた型を取得します。明確にするために、次の行について:
typedef a b;
clang_getTypedefDeclUnderlyingType
returns a
、およびclang_getCursorType
return b
(両方とも としてCXType
)。
于 2015-05-16T00:20:24.397 に答える
-3
それをしてはいけない。C には型のランタイム名がありません。実際、typedef
何かを として使用する場合int
、型名を気にするのはコンパイラだけです。ランタイムはそれらを区別できません。
于 2014-08-21T00:44:27.030 に答える