- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 luabind 时遇到了问题。我定义了一个 std::map 来分配在 lua 中创建的对象。我以这种方式将这张 map 发布为 lua 中的全局对象:
luabind::globals(L)["g_SceneManager2D"] = this;
之后,这个对象被用于lua的一个函数中,其中创建了许多对象并将其插入到这个映射中。当 lua 函数结束并且 luabind 将控制权返回给 C++ 端程序时,问题就来了,因为 map 的所有内容都会自动丢失。
我正在寻找错误。我让 lua context 保持事件状态,所以这个对象必须存在。
你能帮我吗??
非常感谢:)
最佳答案
我建议使用 shared_ptr<>(this)
而不是原始的 this
. boost::shared_from_this
可能有帮助。确保你的类也使用 Luabind 注册,并且 class_
指定为 shared_ptr
持有.
另一个有趣的想法可能是让您的 Lua 函数只生成“ map ”作为 Lua 表,返回它,然后您可以在 C++ 中迭代它以构建您的 std::map
.
关于c++ - luabind 什么时候释放创建的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702906/
我刚刚开始使用 Luabind,并尝试运行在 http://www.rasterbar.com/products/luabind/docs.html#calling-lua-functions 指定的
我在理解如何通过 luabind 正确使用协程时遇到一些问题。有一个模板函数: template Ret resume_function(object const& obj, ...) 其中 (Ret
我对 Luabind 包装器如何在没有 lua_State *L 的情况下传递函数感兴趣。并且不使用 Lua 堆栈。 Luabind 如何: 计算函数参数? 将函数参数链接到 Lua 堆栈? 链接这些
我有一个 C++ 类,我想通过全局变量在 lua 脚本中授予访问权限,但是当我尝试使用它时,出现以下错误: terminate called after throwing an instance of
我在使用 luabind 时遇到了问题。我定义了一个 std::map 来分配在 lua 中创建的对象。我以这种方式将这张 map 发布为 lua 中的全局对象: luabind::globals(L
在一个名为 Test_Class 的类中,我有一个函数: shoot_a_bullet(int damage) { cout > x; lua_State *myLuaState =
我在 Lua 中创建表并将它们存储为 Luabind 对象。然后,我希望调用存储在这些表之一中的函数,所以我会做这样的事情 data["onPrimaryFire"](player, x, y, a)
我最近一直在学习 Luabind,目的是将其集成到我们的软件中。我遇到了几个问题,我一直在查看 Luabind 的 Rasterbar 软件文档,但未能解决。基本上,我公开了一个以字符串和抽象基类作为
我想创建一个具有动态属性的类。例如: class MyClass { public: int GetValue(string str) { return smap[st
我想问一个关于其中发生的特定事件的问题,而无需深入探讨我正在从事的大型 multimap 书馆项目的太多无关细节。我正在使用 Luabind 使我的 C++ 代码与我的 Lua 代码接口(interf
我正在尝试从类中导出静态字段: class Foo { const static int Var; }; // luabind module: .def_readonly("Var", &Foo
我试图在 Visual Studio 2010 中使用 Lua + Luabind 制作一些 HelloWorld。我从 here 下载了 Lua src。并将其源文件添加到项目中。然后我下载并添加了
我使用的是来自 Ryan Pavlik 主发行版的 luabind 0.9.1 和 Lua 5.1,Win XP SP3 上的 cygwin + 最新补丁 x86,boost 1.48,gcc 4.3
我目前在使用 Luabind 将 Lua 脚本 AI 与 C++ 游戏交互时遇到问题。 我在一个循环中调用一个更新函数(每帧一次),这个函数从 Luabind 中注册的 C++ 函数中检索信息。 我的
我正在尝试为我的项目编译 Luabind,但收效甚微。我有 lua 目录(包含 src、makefile 等)作为 luabind 的兄弟。我将 LUA_PATH 设置为/my/dirs/lua 文件
我有一些使用 Luabind 的代码,如果它存在于 _G 表中,我需要执行一个函数(来自 C++),否则什么都不做。如何检测_G中是否存在函数? 最佳答案 这样的事情应该工作: if (luabind
我想向 Lua 等公开 Java 类。对于 C/C++,有 luabind 项目。但我还没有找到 Java 的类似内容。Java 有没有类似 luabind 的项目? 最佳答案 也有一些可用于 JAV
如何追踪我的合规订单? (这样我就可以重新订购) 我的问题:我正在运行 Visual Studio 2012 编写 C++ 应用程序。我使用 LuaBind 将脚本系统 Lua 绑定(bind)到我的
我正在学习 luabind 并尝试使用 luabind::object 从 C++ 访问 Lua 中的变量。 当我将一个 int 分配给一个“对象”时,编译失败了。 代码: int main() {
luabind 文档说要从 C++ 调用 Lua 派生的虚拟成员,您可以创建一个派生自 luabind::wrap_base 的包装类,然后像这样调用该函数: class BaseWrapper :
我是一名优秀的程序员,十分优秀!