lua和c++互相调用
一,lua跳用c++函数:
c++函数原型:staticintaverage(lua_State*L);
返回值表示返回值的个数,返回值通过lua_pushxxx被放到栈顶。
lua_register(L,"average",average);表示注册c++函数
lua中通过这样调用:
avg,sum=average(10,20,30,40,50)
二,c++调用lua函数:
L=lua_open();
luaL_openlibs(L);
luaL_dofile(L,"LuaScript.lua");//加载lua中的定义
lua_close(L);
lua_getglobal(L,"luafun");可将lua全局函数luafun放到栈顶
lua_pushnumber(L,10);//根据luafun的参数需求,lua_pushxxx将参数放到栈顶
lua_call(L,2,1);//调用栈顶的函数,参数2个,返回值1个
lua_isnumber(L,-1)
lua_tonumber(L,-1);可参看栈顶元素类型和值
lua_getglobal(L,"globalVar");//可将lua全局变量放到栈顶
lua_gettop();查看栈元素个数
lua_pop(L,1);//弹出栈顶元素
相关推荐
wbczyh 2020-07-05
taoqilin 2020-01-18
wangzhaotongalex 2020-09-22
古叶峰 2020-11-16
linmufeng 2020-09-08
xiaoxiaokeke 2020-07-28
好好学习天天 2020-07-21
83417807 2020-07-19
小方哥哥 2020-07-09
pwc 2020-06-26
flowerCSDN 2020-06-16
Wonder的学习 2020-06-13
周小董 2020-06-10
luvhl 2020-06-08
nurvnurv 2020-06-05
Andrewjdw 2020-05-27
米虚 2020-05-19