首页 > 解决方案 > 如何检查 lua_state 是否已关闭?

问题描述

我想检查一个 lua_state 是否关闭。我怎样才能检查它?我将此库用作 c++ lua 嵌入器:https ://github.com/lua/lua

标签: c++luaembedding

解决方案


lau_State在 lua 中关闭会释放所有分配的内存,包括lua_State它本身。

来自 Lua 5.4.2 源代码:

static void close_state (lua_State *L) {
  global_State *g = G(L);
  ...
  (*g->frealloc)(g->ud, fromstate(L), sizeof(LG), 0);  /* free main block */
}

这意味着无效内存的封闭lua_State点。

因此,您可以在线程或异步任务中管理open/状态。closed


推荐阅读