lua 压栈 与 c++调用lua
2016-09-11 22:14
423 查看
void pushBasicInfo2Lua()
{
lua_State* L = LuaEngine::getInstance()->getLuaStack()->getLuaState(); //获得Lua状态机
//lua_newtable(L);
lua_pushstring(L, "userid");
lua_pushnumber(L, 150700);
lua_settable(L, -3);//弹出key,value,并设置到subtable
lua_pushstring(L, "nickname");
lua_pushstring(L, "ycc");
lua_settable(L, -3);
lua_pushstring(L, "bean");
lua_pushnumber(L, 1000);
lua_settable(L, -3);
lua_setglobal(L, "SysData");
}
void pushfunc2Lua()
{
LuaStack* stack = LuaEngine::getInstance()->getLuaStack();
lua_State* L = stack->getLuaState();
lua_getglobal(L, "yccFunc");
stack->pushInt(99);
stack->executeFunction(1);
}
--lua
local cppCallLuafunc= function(data)
print(data)
end
cc.exports.yccFunc= cppCallLuafunc
{
lua_State* L = LuaEngine::getInstance()->getLuaStack()->getLuaState(); //获得Lua状态机
//lua_newtable(L);
lua_pushstring(L, "userid");
lua_pushnumber(L, 150700);
lua_settable(L, -3);//弹出key,value,并设置到subtable
lua_pushstring(L, "nickname");
lua_pushstring(L, "ycc");
lua_settable(L, -3);
lua_pushstring(L, "bean");
lua_pushnumber(L, 1000);
lua_settable(L, -3);
lua_setglobal(L, "SysData");
}
void pushfunc2Lua()
{
LuaStack* stack = LuaEngine::getInstance()->getLuaStack();
lua_State* L = stack->getLuaState();
lua_getglobal(L, "yccFunc");
stack->pushInt(99);
stack->executeFunction(1);
}
--lua
local cppCallLuafunc= function(data)
print(data)
end
cc.exports.yccFunc= cppCallLuafunc
相关文章推荐
- 使用C++调用 LUA 函数收藏
- lua和c/c++互相调用实例分析(转)
- C++调用lua
- Lua与C/C++交互——Lua调用C/C++
- 在C/C++如何调用Lua
- 在Lua中调用C++函数
- 用SWIG实现C++和Lua互相调用实例
- lua脚本调用C++动态库中的函数
- lua和c++相互调用
- lua 与 c++ 的相互调用
- 将C++对象导出到lua,C++和lua的相互调用
- C++调用Lua脚本
- 在Lua中调用c++函数示例
- C++保存和调用lua函数
- Lua与C++交互调用(1)
- C/C++中调用LUA函数
- 让 lua 调用 C++ 中的 member functions
- C/C++调用lua脚本函数
- lua学习(三)--------lua调用c++函数和简单的错误处理
- C++调用lua编译报错