我在第一个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 - 我需要的功能