Lua脚本到C ++代码

时间:2011-01-18 18:08:27

标签: c lua stack

我正在为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

我真正的代码要复杂得多,我正在寻找一些代码 自动代码生成将帮助我。

4 个答案:

答案 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