完整的userdata __gc元方法是否需要释放()它的内存?

时间:2008-10-21 08:00:08

标签: garbage-collection lua

我在用C编写的Lua模块中有一个完整的用户数据.userdata有__gc()元方法,由垃圾收集器调用。 lua在__gc()调用后是否解释了免费的用户数据内存,或者free()内是否需要__gc()

1 个答案:

答案 0 :(得分:8)

你不应该释放内存,因为你自己没有malloc(); Lua为你做了两件事。事实上,甚至没有在同一个垃圾收集周期中收集内存,正如Lua 5.1 reference manual中的第2.10.1节所解释的那样。