Lua中如何实现将数据表传递给C语言函数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计182个文字,预计阅读时间需要1分钟。
如何将Lua中未知长度的表传递给绑定的C函数?希望可以像这样调用Lua函数:call_C_Func({1, 1, 2, 3, 5, 8, 13, 21}),并将表内容复制到一个数组(最好是STL向量)中?如果使用LuaBind,就像注册一个表一样。
我希望能够像这样调用Lua函数:
call_C_Func({1,1,2,3,5,8,13,21})
并将表格内容复制到一个数组(最好是STL矢量)?
如果你使用 LuaBind就像一个注册的电话一样简单.至于自己卷起来,你需要看一下 lua_next的功能.基本上代码如下:
lua_pushnil(state); // first key index = lua_gettop(state); while ( lua_next(state,index) ) { // traverse keys something = lua_tosomething(state,-1); // tonumber for example results.push_back(something); lua_pop(state,1); // stack restore }
本文共计182个文字,预计阅读时间需要1分钟。
如何将Lua中未知长度的表传递给绑定的C函数?希望可以像这样调用Lua函数:call_C_Func({1, 1, 2, 3, 5, 8, 13, 21}),并将表内容复制到一个数组(最好是STL向量)中?如果使用LuaBind,就像注册一个表一样。
我希望能够像这样调用Lua函数:
call_C_Func({1,1,2,3,5,8,13,21})
并将表格内容复制到一个数组(最好是STL矢量)?
如果你使用 LuaBind就像一个注册的电话一样简单.至于自己卷起来,你需要看一下 lua_next的功能.基本上代码如下:
lua_pushnil(state); // first key index = lua_gettop(state); while ( lua_next(state,index) ) { // traverse keys something = lua_tosomething(state,-1); // tonumber for example results.push_back(something); lua_pop(state,1); // stack restore }

