如何查找lua堆栈中有多少项(值) 我在C++中使用Lua,我想找到在LUA栈中使用的“时隙”(如果你可以说),如果可能的话,Lua栈的大小是什么? < P>代码> LuaYGETPoT(LuauSt**L)< /Calp>

如何查找lua堆栈中有多少项(值) 我在C++中使用Lua,我想找到在LUA栈中使用的“时隙”(如果你可以说),如果可能的话,Lua栈的大小是什么? < P>代码> LuaYGETPoT(LuauSt**L)< /Calp>,c++,lua,stack,lua-api,C++,Lua,Stack,Lua Api,堆栈中的元素数与顶部插槽的索引相同。如果您感兴趣,这里有一些东西可以使用这些信息为您打印整个堆栈 inttop=lua_gettop(L); std::string str=“从上到下,lua堆栈是\n”; 对于(无符号索引=顶部;索引>0;索引--) { int type=lua_type(L,索引); 开关(类型) { //布尔人 案例LUA\u TBOOLEAN: str=str+(lua_toboolean(L,索引)-“真”:“假”)+“\n”; 打破 //数字 案例编号: str=s

堆栈中的元素数与顶部插槽的索引相同。如果您感兴趣,这里有一些东西可以使用这些信息为您打印整个堆栈

inttop=lua_gettop(L);
std::string str=“从上到下,lua堆栈是\n”;
对于(无符号索引=顶部;索引>0;索引--)
{
int type=lua_type(L,索引);
开关(类型)
{
//布尔人
案例LUA\u TBOOLEAN:
str=str+(lua_toboolean(L,索引)-“真”:“假”)+“\n”;
打破
//数字
案例编号:
str=str+std::to_string(lua_tonumber(L,index))+“\n”;
打破
//弦
案例LUA_TSTRING:
str=str+lua\u tostring(L,索引)+“\n”;
打破
//其他
违约:
str=str+lua\u typename(L,type)+“\n”;
打破
}
}
str=str+“\n”;

您可以使用lua_checkstack来测试是否可以推送新实体吗