使用luabind 0.81
简单的测试来说明问题:
1)
class 'A'
function A:__init()
print('A init\n')
end
function A:__finalize()
print('A finalize\n')
end
do
local obj = A()
end
collectgarbage("collect")
输出:
A init
A finalize
2)
class 'A'
function A:__init()
print('A init\n')
end
function A:__finalize()
print('A finalize\n')
end
class 'B' (A)
function B:__init()
A.__init(self)
print('B init\n')
end
function B:__finalize()
print('B finalize\n')
end
do
local obj = B()
end
collectgarbage('collect')
输出:
A 初始化
B 初始化
问题:垃圾回收时没有删除带有父类的类。
如何解决这个问题呢?谢谢你。