static int getNum(int num);
static int _getNum(lua_State* pL);
bool luaDoc::init()
{
lua_State*pL=lua_open();
luaopen_base(pL);
lua_register(pL,"_getNum",_getNum);
luaL_difile(pL,"data.lua");
lua_close(pL);
return true;
}
int luaDoc::getNum(int num)
{
return num+1;
}
int luaDoc::_getNum(lua_State*pL)
{
int num=(int )lua_tonumber(pL,1);
lua_pushnumber(pL,getNum(num));
return1;
}
//=========lua文件===========
local num=_getNum(10)
//c++調用lua函數
lua_State*pL=lua_open();
luaopen_base(pL);
luaL_dofile(pL,"L.lua");
lua_settop(pL,0);
lua_getglobal(pL,"add");
lua_pushnumber(pL,10);
lua_pushnumber(pL,10);
lua_call(pL,2,1); //2個參數,一個返回值
//lua_gettable(pL,-2);
int numAdd=lua_tonumber(pL,-1);