堆栈没学好撸啊很苦恼

/** * [B] -- alias, nil [T] * | |_________________lua_pushnil * |________________________lua_next(_, -2) * * * _________________lua_tostring(_, -2) * | * [B] -- alias, key, value [T] * | |____________lua_isstring(_, -1) * | lua_tostring(_, -1) * | lua_isfunction(_, -1) * | * |_________________lua_pop(_, 1) * luaL_ref * * [B] -- alias, key [T] * |________________________lua_next(_, -2) */ lua_pushnil(f_L); while (lua_next(f_L, -2) != 0) { key = lua_tostring(f_L, -2); if (lua_isstring(f_L, -1)) { value = lua_tostring(f_L, -1); printf("key(%s) = value(%s)\n", key, value); lua_pop(f_L, 1); } else if (lua_isfunction(f_L, -1)) { printf("got you type(%d)\n", lua_type(f_L, -1)); // lua_call(f_L, 0, 0); // 调用后函数参数连同函数名已经被lua虚拟机自动弹出 g_agent = luaL_ref(f_L, LUA_REGISTRYINDEX); // luaL_ref也会自...

2012-12-08 · wuan