Tag: lua 5.2

如何在userdata中存储值类型?

这篇SO文章是一回事,但答案是无益的,因为答案是在Lua中,问题是关于C-API。 所以我再问一遍。 希望其他人能从这个问题中受益。 我实际上有两个问题(我不能让你工作,我不能让helloworld()工作) 我想要达到这个目的: local x = MyCBoundLib.GetSomething() print(xy) print(xz) 其中x是用户数据。 我一直attempt to index a userdata value 我知道“ 没有metatable , userdata是不可索引的,因为它是C / C ++数据 ” 在我的C代码中,我做了类似的事情来尝试包装对象。 int push_Something(lua_State *L, void *object) { struct SomethingWrapper *w = (struct SomethingWrapper *)lua_newuserdata(L, sizeof(struct SomethingWrapper)); w->object = object; luaL_setmetatable(L, “Something”); return 1; } 早些时候,我试图注册一个名为Something的metatable,如下所示: luaL_newmetatable(L, “Something”); lua_pushvalue(L, -1); […]

luaL_openlib替换Lua 5.2

我正在调整为Lua <5.2编写的库,并接到一个我不知道相当于的电话: luaL_openlib(L, “Polycore”, polycoreLib, 0); polycoreLib是一个 static const struct luaL_Reg polycoreLib [] 如何替换对luaL_openlib的调用? lua wiki只说 : 调用诸如luaL_openlib(L, name, lreg, x); 应该仔细重写,因为将搜索具有给定名称的全局表并可能创建该表。