1.Lua调用C++ 传递数组
c++示例:
int CTestArr(lua_State *L)
{
printf("In CTestArr\n");
int len = luaL_getn(L, 2);//获取L的第二个参数的大小
for (int i = 1; i <= len; i++)
{
lua_pushnumber(L, i);//往栈里面压一个数字i,表示我们要取表里面那个下标的值
lua_gettable(L, 2);//取出表,2代表表在栈中的位置,pop index push table[i] 1.先把上一条语句的i出栈2.再把tale[i]压入栈顶
size_t size;c++
printf("%s\n", lua_tolstring(L, -1, &size));
lua_pop(L, 1);//把上一个加的出栈
}
return 0;
}
lua示例:
-------------lua调用c++传递数组参数-----------------------
local arr = {"A001","A002","A003"};
local arr1 = {"B001","B002","B003","B004"};
CtestArr(arr,arr1);