我必须检索项目中定义的所有结构和类型(如我之前的问题中所述“ https://stackoverflow.com/questions/23154414/c-project-get-all-global-variables-and-all-types ")。
我选择了 clang 解决方案,因为它似乎是我唯一的方法......但是,我发现的唯一“好”教程是这个:http: //kevinaboos.wordpress.com/2013/07/23/clang- tutorial-part-i-introduction/还有一些问题:
1) 是否处理了预处理器指令(#include、#define 等)
2)如何检索类型和结构成员?
实际上,对于这个 * 简单 * 代码,例如:
typedef struct
{
int i;
char i2;
} S1;
typedef struct S2
{
int i;
struct S2 s2;
} S2;
typedef S3 struct S3;
struct S3
{
int i;
char i2;
}
S1 m_s1;
S2 m_s2;
struct S3 m_s3;
clang::RecursiveASTVisitor
派生类(http://clang.llvm.org/doxygen/classclang_1_1RecursiveASTVisitor.html )中的什么方法被调用并按顺序调用?(你能给我解释一下如何检索我需要的数据吗?)