我在用C编写的Lua模块中有一个完整的用户数据__gc().userdata 有metamethod,由垃圾收集器调用.lua是否在__gc()通话后解释了免费的用户数据内存,或者我是否需要free()在内部使用它__gc()?
__gc()
free()
你不应该释放内存,因为你自己没有malloc(); Lua为你做了两件事.实际上,内存甚至没有收集在相同的垃圾收集周期中,如Lua 5.1参考手册中的2.10.1节所述.