gc-ed lua对象上的析构函数
发布时间:2020-12-15 08:33:24 所属栏目:Java 来源:网络整理
导读:我知道Lua是gc-ed.我知道Lua可以通过userdata处理c对象. 这是我的问题:无论如何要注册一个函数,以便当一个C userdata对象被lua gc编辑时调用它? [基本上是析构函数]. 谢谢! 解决方法 是的,有一个名为 __gc 的 metamethod专门用于此目的.有关详细信息,请参
我知道Lua是gc-ed.我知道Lua可以通过userdata处理c对象.
这是我的问题:无论如何要注册一个函数,以便当一个C userdata对象被lua gc编辑时调用它? [基本上是析构函数]. 谢谢! 解决方法
是的,有一个名为
__gc 的
metamethod专门用于此目的.有关详细信息,请参见
Programming in Lua (PIL)的
Chapter 29 – Managing Resources.
以下代码段创建了一个metatable并注册了__gc元方法回调: luaL_newmetatable(L,"SomeClass"); lua_pushcfunction(L,some_class_gc_callback); lua_setfield(L,-2,"__gc"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |