我正在为Lua编写C函数。 我有很多电话,如lua_gettable,lua_touserdata等
我的C函数可能会收到复杂的结构,例如表格和表格作为字段。
我很难对堆叠机器进行编程。
是否可以编写将转换为C代码的Lua脚本。
或者其他一些工具可以帮助我为lua脚本编写这样的C函数。
感谢。
PS
以下是示例: -
local data = {}
data.x = {}
data.x.y = 1
myCfunc(data)
int myCfunc(lua_State * L){
lua_pushstring(L, "x");
lua_gettable(L, 2);
lua_pushstring(L, "y");
lua_gettable(L, -2);
double y = lua_tonumber(L, -1);
lua_pop(L, 2);
}
而不是
function myCfunc(data)
y = data.x.y
end
我真正的代码要复杂得多,我正在寻找一些代码 自动代码生成将帮助我。
答案 0 :(得分:6)
尝试LuaToCee。
答案 1 :(得分:5)
也许toLua可以提供帮助。
答案 2 :(得分:2)
从C#开始,我所做的就是编写代码来转换JSON格式的LUA数据结构。然后我可以通过任何JSON库加载数据,包括所有的铃声和口哨声。它是一种圆形解决方案,但您只需编写一次JSON编码代码。
答案 3 :(得分:-1)
SWIG Simplified Wrapper和Interface Generator http://www.swig.org/ 它通常用于C to Lua,但通过定义一些全局变量,您可以将它用作Lua到C