【发布时间】:2021-11-11 01:40:07
【问题描述】:
我想获取struct lua_State中的值,但是发现值不对。
void func(lua_State* L)
{
lu_mem nBytes = 0;
int stacksize = 0;
int sweepstrgc = 0;
lu_mem estimate = 0;
nBytes = L->l_G->totalbytes;
stacksize = L->stacksize;
sweepstrgc = L->l_G->sweepstrgc;
estimate = L->l_G->estimate;
}
如上例,totalbyes 为 1270000,但 nBytes 始终为 6。有什么问题?感谢您的帮助。
【问题讨论】:
-
看起来很奇怪。但可以肯定的是,您正在访问 API 不支持的 Lua 实现的私有成员。对于调试,显示这些值可能有意义,但否则我认为自定义代码不应该读取内部 Lua 结构。