本篇中, 我们将以lura库为例(笔者之前项目使用的Lua的 bridge实现), 介绍如何以C++反射作为基础设施, 以更简洁的方式来实现一版lua的bridge....C++类到Lua中使用, 基本都要完成如下图所示的几项功能:
1.1 函数的处理
不管是 "member functions" 或者是 "static functions"的处理, 在bridge...c++函数向lua注册的核心目的只有一个: 将需要在lua中调用的c++函数, 转换为 统一类型的lua c function....剩下的调用过程就比较简单了, 正确填入参数, 我们即可以像一个标准的lua函数那样使用这些c++函数了....__call 用于直接在lua中构造一个对应的c++对象, 我们将class table作为自己的meta table设置后, 也会将这个meta table暴露到_G上, 如上例中的Vector3,