是否有一种方法让C以与使用reference system相同的方式引用Lua 5.2中的对象,除了这些引用很弱并且可能随时被垃圾收集?换句话说,是否存在不影响对象的所有当前Lua对象的注册表。引用计数?
答案 0 :(得分:7)
你可以通过引入一个间接层来实现这一点 - 而不是将值直接存储在注册表中并强制它变弱,请执行以下操作:
{__mode = "v"}
请注意,没有“跟踪所有Lua对象”(如Ruby中的ObjectSpace),除非你使用像Pluto这样的重度持久性。您只能访问自己存储/跟踪的对象。