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

Can I store a lua_State in shared memory?

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

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

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

由于 Lua 完全是用标准 C 实现的,在共享内存中分配 lua_State 显然不支持开箱即用。您可以考虑修改源代码以手动实现该功能,但这可能不值得麻烦。相反,您应该将 lua_States 保留在共享内存之外,并在必要时将任何重要数据复制到共享内存中。