前面介绍了libclang和整个基于AST代码生成的工作原理, 但libclang的使用方式有多种, 我们应该如何选择呢?...使用c++不需要对libclang做任何的Wrapper, 即可访问相关的功能和实现
功能更新没有滞后性, 一些新功能更新libclang到最新版后即可使用
缺点
分析和使用AST信息的应用场景一般涉及大量的字符串处理...;
这个标识用于需要对宏信息进行处理的情况, 默认宏会直接被展开, 生成的AST里不包含这部分内容....libclang对宏的处理比较特殊, 使用相关标识后, 所有宏相关的节点会出现在CXTranslationUnit的最头部, 而不是具体在代码实际使用的位置, 读取宏信息的时候需要注意这一点.
8.1.3...中对应对应的浅封装, 这样处理之后: - 能过滤掉绝大部分不需要使用到的数据. - 在不对AST做重复遍历的情况下, 快速获取需要的类或者枚举等数据. - 可以很方便的在XXXNode中加入定制逻辑.