是的,LuaJIT 中 ffi.new() 分配的内存需要手动释放。由于 ffi.new() 会分配内存,因此必须手动释放,可以使用 ffi.C.free() 函数来释放内存。

例如:

local myffi = require("ffi")
local mystr = myffi.new('char[?]', 100)
-- do something with mystr
myffi.C.free(mystr)

在这个例子中,我们使用了 ffi.new() 来分配了一个 100 个字符的字符串。我们使用了这个字符串,然后在最后使用了 ffi.C.free() 来释放这个字符串的内存。

LuaJIT FFI.new() 内存释放指南

原文地址: https://www.cveoy.top/t/topic/nXj1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录