返回参数
lua文件中调用C++函数并获取返回值
main.lua
1 2 |
local re = ctest_re() print(re) |
C++函数
1 2 3 4 5 |
int CTest_Re(lua_State * L) { lua_pushstring(L,"return value"); return 1; } |
函数的注册
1 |
lua_register(lua,"ctest_re",CTest_Re); |
详情参考C++程序里的函数,给Lua调用
返回表
lua文件中调用C++函数并获取表
main.lua
1 2 3 |
local re = ctest_re() print("name = ",re["name"]) print("age = ",re["age"]) |
C++函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
int CTest_Re(lua_State * L) { //插入表,此时位于栈顶 lua_newtable(L); //插入key,此时表位于-2 lua_pushstring(L,"name"); //插入value,此时表位于-3 lua_pushnumber(L,"lif"); //将插入的数据写入到表中,并将key和value弹出栈 lua_settable(L,-3); //插入另一组数据 //插入key age,表位于-2 lua_pushstring(L,"age"); //插入value,表位于-3 lua_pushnumber(L,23); //将所插入的数据写入到表中,并将key和value弹出栈 lua_settable(L,-3); return 1; } |
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Lua_基础 类型&&值09/26
- ♥ Lua_调用 C++函数:传递表&&参数类型检测10/06
- ♥ C++_调用 Lua函数10/09
- ♥ C++_调用 Lua内容:全局表 获取&&设置10/09
- ♥ C++_调用 Lua内容:表—传递&&获取10/12
- ♥ Lua_调用 C++函数:传递数组参数10/06