我正在考虑将Lua嵌入到我正在开发的C++应用程序中.我的目的是使用Lua编写为某些给定输入执行的有序操作的脚本,即.在c ++程序中收到一个新的工作项,将细节传递给Lua后端,Lua调用c ++来执行必要的工作,返回完成的结果.
涉及的主要数据结构是一个大型(大约80多个成员)struct
.我(非常)是Lua的新手,我不确定如何将它传递给我的主机应用程序和嵌入式Lua状态.
到目前为止,我看到我的选择:
a)当与C++和Lua交叉时,将所有单个数据成员推送/弹出(听起来很混乱).
b)构造一个表并填充值,然后将其放入/关闭堆栈(稍微清洁一点).
c)把它传递给userdata
(轻/重?)(我对此很粗略,不知道我是否可以从Lua那边访问它以查询必要的操作).
任何指导将不胜感激.