7.Lua调用c++传递数组函数

本文介绍了一个具体的示例,展示了如何从Lua脚本中调用C++函数并传递数组作为参数。通过示例代码,详细解释了C++端如何接收Lua传来的数组,并进行遍历操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值