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

c++调用lua

2014-12-02 17:54 113 查看
<1>c++部分

extern "C"
{
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
};

lua_State* L;

int luaadd(int x, int y)
{
int sum;
lua_getglobal(L, "add"); int nTop = lua_gettop(L);
lua_pushnumber(L, x);
lua_pushnumber(L, y);
lua_call(L, 2, 1);
sum = (int)lua_tonumber(L, -1);

lua_pop(L, 1);
lua_getglobal(L, "z");
int z = (int)lua_tonumber(L, 1);
lua_pop(L, 1);
return sum;
}

void cPlusPlusCallLua()
{
int sum = -1;
L = lua_open();
luaL_dofile(L, "e15.lua");
sum = luaadd(10, 15);
CCLOG("===>sum:%d", sum);
lua_close(L);
}
<2>lua部分

function add(x, y)
return x + y + 2
end

z = 6
<3>使用

cPlusPlusCallLua();

既可以看到日志打印出:27
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: