使用 LuaJIT C API 模式

我正在学习LUAJIT。

LUAJIT有一个用于设置模式的函数:

LUA_API int luaJIT_setmode(lua_State *L, int idx, int mode);

是否有任何方法可以获取实际模式?

谢谢。

点赞
用户88888888
用户88888888

我不确定你是否能够这样做,也不确定这是否是一个选项,但是你可以编辑src/lj_dispatch.c,并且添加如下代码(未经测试):

int luaJIT_getmode(lua_State *L, int idx) {
  global_State *g = G(L);
  return G2J(g)->flags;
}

然后你需要在luajit.h中添加一个定义。我不认为这是非常实用的方法,但是在const_cast原则的精神中,我不认为它不起作用。建议仍然避免这样做...

2013-09-05 11:36:49