C++/Lua栈操作

一、Lua栈结构

1. index为正数

c++获取lua的数组元素的实例:

// 接口参数:void lua_rawgeti (lua_State *L, int index, int n);
lua_getglobal(L, "g_Arr");
lua_rawgeti(L, 1, 1);
int data = lua_tointeger(L, 2);
lua_pop(L, 1);

2. index为负数(推荐)

c++获取lua的数组元素的实例:

// 接口参数:void lua_rawgeti (lua_State *L, int index, int n);
lua_getglobal(L, "g_Arr");
lua_rawgeti(L, -1, 1);
int data = lua_tointeger(L, -1);
lua_pop(L, 1);

参考文章

[1] Lua笔记-关于lua table的C API (转)
[2] Lua教程(五):C/C++操作Lua数组和字符串示例

posted @ 2022-06-29 15:28  Macrored  阅读(96)  评论(0编辑  收藏  举报