|
----- Original Message ----- From: Oliver Schmidt Date: 2/4/2010 4:15 PM
LuaPlus (http://luaplus.org) lets you hold onto a Lua object within a C++ object:On Thursday 04 February 2010, Philipp Janda wrote:Why are you doing that? You don't get deterministic cleanup of Lua values anyway, and IIRC, the stack slots are removed when the function returns.But if the C++ function does not return soon? If the C++ function does use a lot of (temporary) C++ objects representing Lua variables (e.g. inside a C++ loop body) and does call other C++ functions that are also using slots on the stack, the stack might get full of unused stack slots.
LuaObject myDataObj = state->GetGlobal("MyData"); LuaObject valueObj = myDataObj["Value"];The Lua data is stored within the LuaObject itself and does not need the Lua stack.
Josh