Lua中要使用c++函数 对象和调用成员函数,可以使用sol2库
sol2库主要使用 模版元编程来生成代码,编译时间比较长,也可以只使用sol2的 stack 相关API,减少模版生成时间
导出的基本流程:
1: LuaState 初始化ok
2: 初始化sol2的state,可以使用sol2的 state_view 接口,和现有的lua API协同工作
3:注册不同的类和函数
sol2 new_usertype 绑定特定的c++类型到lua中, 可以将成员函数 以及c++ lambda 表达式,存储到table中
sol2 table 获取某个table ,设置table的 某个变量为c++ 函数,将c++函数绑定到 Lua中
无论是c++类型,还是lua全局状态,sol2都是一个table
通过设置table的 成员变量来绑定