python wrapper, 所以这种方式也被不少开源库使用, 一方面官方自带的wrapper, 另外python本身使用也非常方便, 也能很好的弥补c++字符串处理不便的问题....wrapper差别比较大的一个地方, ClangSharp除了通过P/Inovke方式访问libclang动态库的Api外, 还有扩展一部分c++代码来保证上层的C#接口的整体性和易用性, python...错误处理
代码中可能存在错误, 这种情况下我们没法继续后续AST分析的过程, 我们需要输出错误日志, 让使用者知道出现问题, 尝试修复代码, 错误处理的代码也比较简单, 也是利用libcalng本身的...()使用
在libclang中, 我们更多的通过callback方式来访问c++的AST, 在 ClangSharp中也同样支持这种方式, 我们先来看一下相关API的定义:
namespace ClangSharp.Interop...Invoke方式来封装的一个libclang中的API, 对应的Api是clang_visitChildren, 在ClangSharp中, 我们最终是直接使用CXCursor.VisitChildren