Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 如何获得;sizeof“;卢阿的桌子?_Memory_Lua_Love2d - Fatal编程技术网

Memory 如何获得;sizeof“;卢阿的桌子?

Memory 如何获得;sizeof“;卢阿的桌子?,memory,lua,love2d,Memory,Lua,Love2d,我正在使用Lua涉猎Love2D,刚刚实现了一个状态机来处理一组状态之间的转换,例如IntroState、MenuState、PlayState等 在以前的程序中,我通常只发布“一次性交易”的对象和/或状态,在应用程序的生命周期内,iow只向播放器显示一次。在C++中,我使用运算符,它返回传递的对象的字节大小,只是为了得到关于在某个点释放多少内存的反馈。 Lua中是否有相应的关键字或技巧来实现这一点?如果您需要细粒度信息,可以使用前面提到的as@siffiejoe并结合一些表遍历来访问所有本地和


我正在使用Lua涉猎Love2D,刚刚实现了一个状态机来处理一组状态之间的转换,例如IntroState、MenuState、PlayState等

在以前的程序中,我通常只发布“一次性交易”的对象和/或状态,在应用程序的生命周期内,iow只向播放器显示一次。在C++中,我使用运算符,它返回传递的对象的字节大小,只是为了得到关于在某个点释放多少内存的反馈。
Lua中是否有相应的关键字或技巧来实现这一点?

如果您需要细粒度信息,可以使用前面提到的as@siffiejoe并结合一些表遍历来访问所有本地和全局对象。如果需要更粗粒度的方法,可以使用
collectgarbage('count')
获取Lua使用的总内存

也许会有所帮助。请注意,由于内存释放是由垃圾收集器处理的,所以您无法控制内存释放(尽管有几个GC设置可以调整)。

有一个外部模块可以实现这一点。它仅适用于PUC Rio Lua(无LuaJIT),因为它访问内部数据结构。然而,Lua将保留对象的内存,直到它们无法访问并且垃圾收集器回收它们,这可能要晚很多,所以这种反馈在Lua中没有多大意义。