Lua中如何实现将数据表传递给C语言函数?

2026-06-05 11:444阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计182个文字,预计阅读时间需要1分钟。

Lua中如何实现将数据表传递给C语言函数?

如何将Lua中未知长度的表传递给绑定的C函数?希望可以像这样调用Lua函数:call_C_Func({1, 1, 2, 3, 5, 8, 13, 21}),并将表内容复制到一个数组(最好是STL向量)中?如果使用LuaBind,就像注册一个表一样。

Lua中如何实现将数据表传递给C语言函数?

如何将Lua中未知长度的表传递给绑定的C函数?

我希望能够像这样调用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中未知长度的表传递给绑定的C函数?希望可以像这样调用Lua函数:call_C_Func({1, 1, 2, 3, 5, 8, 13, 21}),并将表内容复制到一个数组(最好是STL向量)中?如果使用LuaBind,就像注册一个表一样。

Lua中如何实现将数据表传递给C语言函数?

如何将Lua中未知长度的表传递给绑定的C函数?

我希望能够像这样调用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 }