您的位置:首页 > 编程语言 > Lua

lua调用c++函数,c++调用lua

2014-12-03 15:10 225 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: