多个 lua 调用c++ 对象(分不够,后续补上)

zlxi 2019-09-25 04:00:42
大神,请教一下。 c++ Full UserData 怎么在多个lua脚本之间传递



//lua1.lua 创建一个c++对象
static int CreateTextParase(lua_State* L)//创建文本分析器
{
LuaUserdata * pdata = (LuaUserdata*)lua_topointer(L, 1);

const char * strFile = lua_tostring(L, 1);
lua_pop(L, 1);
LuaUserdata * pdata = (LuaUserdata*)lua_newuserdata(L, sizeof(LuaUserdata));
pdata->data = new TextFileAnalyzer(strFile);
luaL_getmetatable(L, "File.Paraser");
lua_setmetatable(L, -2);
return 1;
}

// lua2.lua 如何调用该对象
// 1.lua调用c函数是私有栈,怎么共享这样c++ 对象

...全文
87 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
铖邑 2019-09-26
  • 打赏
  • 举报
回复
你有没用过luajit?那种调用非常简单有效。就是版本没跟进上来,不过新版本也没太大用处
zlxi 2019-09-26
  • 打赏
  • 举报
回复
引用 2 楼 SuperDay 的回复:
貌似单纯lua的话是不能调用C++对象的,好像有个tolua++的第三方组件可以利用,具体要看文档资料
tolua++ 是一个工具,手工与自动实现的差别。我不是像表达这个含义。 我想表达。  LuaUserdata * pdata = (LuaUserdata*)lua_topointer(L, 1); 创建的对象,如何传给下一个lua 脚本使用
铖邑 2019-09-25
  • 打赏
  • 举报
回复
貌似单纯lua的话是不能调用C++对象的,好像有个tolua++的第三方组件可以利用,具体要看文档资料
zlxi 2019-09-25
  • 打赏
  • 举报
回复
求助求助求助

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧