我正在做的是我想使用libclang解析c ++头文件,然后让AST找到结构并将其格式描述为,
struct 0 name,field 0 name,field 0 offset,field 1 name,field 1 offset,...
struct 1 name,field 0 name,field 0 offset,field 1 name,field 1 offset,...
我正在使用cursor :: get_field_offsetof来获取偏移量。但是作为uint64_t
的类型遇到了一些问题struct issue
{
int a;
uint64_t b;
};
// cursor::get_field_offsetof always returns -1
struct no_issue
{
int a;
long long b;
};
// can return correct offsets
看起来libclang 3.9不理解uint64_t。 我用于解析的论点是[' x',' c ++',' -std = c ++ 11']
欢迎任何建议。
干杯