【发布时间】:2011-06-11 06:40:18
【问题描述】:
我正在为 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
我的真实代码要复杂得多,我正在寻找一些 对我有帮助的自动代码生成。
【问题讨论】:
-
等等,什么?你有什么问题?如果你可以用 Lua 写,那就用 Lua 写——为什么需要用 C 写?
-
我正在创建 LUA 调用的 C 函数。我很难做出这样的功能。实际上,我为 lua 脚本制作了许多 C 函数。我无法在 lua 中对它们进行编码。我使用 lua 调试我的应用程序。