【发布时间】:2011-01-17 19:28:05
【问题描述】:
我在使用 luabind 时遇到问题。我定义了一个 std::map 来分配在 lua 中创建的对象。我以这种方式将这张地图作为全局对象发布在 lua 中:
luabind::globals(L)["g_SceneManager2D"] = this;
之后,这个对象被用到lua中的一个函数中,其中创建了许多对象并插入到这个映射中。当 lua 函数结束并且 luabind 将控制权返回给 C++ 端程序时,问题就出现了,因为映射的所有内容都会自动丢失。
我正在寻找错误。我让 lua 上下文保持活动状态,所以这个对象必须存在。
你能帮帮我吗?
非常感谢:)
【问题讨论】:
-
如果您发布更多代码,您可能会得到更好的答案:
this是什么类型以及导出方法的函数声明,以及调用这些函数的 Lua 代码。