我可以将 lua_State 存储在共享内存中吗?

我猜不会(或者,如果可能的话,几乎肯定不值得我花时间)。

我的想法是构建一个镜像对象,其中包含 offset_ptr,并且它还坐在拥有 lua_State 的类中,这样子进程就可以使用它来获取与状态相关的指针的位置,无论是否可行......还有其他 lua_ 方法可能访问的对象,我不确定如何传递它们的正确地址......

我猜想我也需要一个特殊的分配器,不确定是否支持?

点赞
用户1840975
用户1840975

因为 Lua 是纯标准 C 实现的,因此在共享内存中分配 lua_State 明显不受支持。你可以尝试修改源码手动实现该功能,但这可能并不值得麻烦。相反,你应该将 lua_State 从共享内存中排除,并在必要时将任何重要数据复制到共享内存中。

2015-01-06 03:16:34