该接口基于 LuaJIT 的 FFI (...)
在LuaJIT 网站上阅读(关于ffi.gc()
):
此功能允许将非托管资源安全地集成到 LuaJIT 垃圾收集器的自动内存管理中。典型用法:
local p = ffi.gc(ffi.C.malloc(n), ffi.C.free)
...
p = nil -- Last reference to p is gone.
-- GC will eventually run finalizer: ffi.C.free(p)
那么,使用 Python-CFFI,您是否必须通过将其设置为 (ie) 来触发对使用实例化的变量的最后一个引用的销毁ffi.gc
(= 需要一个特殊的函数进行释放,因为它的某些部分是动态分配的)ffi.NULL
?