我正在为Lua编写C函数,其中有很多像lua_gettable、lua_touserdata等的调用。
我的C函数可能会接收到像带有表格作为字段的表格之类的复杂结构。
对我来说,在堆栈机上编程很困难。
是否有一种编写Lua脚本的方法,可以将其转换为C代码?
或者其他一些工具可以帮助我编写这样的C函数以供Lua脚本使用。
谢谢。
附言:
以下是示例:
我的C函数可能会接收到像带有表格作为字段的表格之类的复杂结构。
对我来说,在堆栈机上编程很困难。
是否有一种编写Lua脚本的方法,可以将其转换为C代码?
或者其他一些工具可以帮助我编写这样的C函数以供Lua脚本使用。
谢谢。
附言:
以下是示例:
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
我的实际代码更加复杂,我正在寻找一些自动化代码生成工具来帮助我。