在2 lua_State之间传输数据

时间:2018-02-23 10:49:29

标签: c lua

我在第一个lua_State中有С功能。如何将此函数复制到第二个lua_State?我试图使用lua_xmove,但它对我不起作用 (PANIC:调用Lua API时无保护错误尝试索引函数值)

void lua_setfield (lua_State *L, int index, const char *k)
{
    if (lua_isfunction(L, lua_gettop(L)) && !strcmp(k, "myfunction"))
    {
            lua_pushvalue(L, lua_gettop(L));
            lua_xmove(L, myluastate, 1);
            o_lua_setfield(myluastate, index, k);
    }
    o_lua_setfield(L,index,k);
}

o_lua_setfield - 原始lua_setfield函数
lua_setfield - 挂钩的setfield函数
myfunction - 我需要的功能

0 个答案:

没有答案