这种情况下, 我们就会考虑使用更 "自动化" 的机制来解决注册代码的生成问题, 这也是目前CE所选择的方式, CE中整体的反射代码自动生成流程大致如下图所示:
对比常规的C++编译处理过程[上图中的...如何选择 libclang 的使用语言, 是C++, Python, C#, 还是其他? 3. 如何支持好C++中大量使用的各种模板类型? 4....这其实也是我们后面会具体说到的 http://CppAst.Net的一个优势, 它基本在 C# 层相对完整的实现了 C++的这个类型系统, 这样虽然类型系统本身的复杂度还是存在的, 但我们在 C# 层可以以比较接近原生...C# 层中对 C++类型系统的重建还原比较好
第三点通过 http://CppAst.Net 的类图其实就能看出来:
image.png
再加上具体C#类型实现上的Property, 如我们前面看到的...的注入和使用
希望大家通过阅读本文能够对如何处理 C++ AST以及如何使用 http://CppAst.Net 有一个初步的认知.