我在文档ffi中看到。C.free是我可以用来释放malloc的东西。我正试图在这里这样做:
callbacks.free_buffer = function(buffer)
print("free_buffer_callback")
ffi.C.free(buffer)
end
我得到这个错误:
missing declaration for symbol 'free'
这是否意味着我必须先用FFI填充内存?我不能在这个特定的函数中这样做(因为它是回调中的一个参数)。我能做些什么来释放这个缓冲区?
编辑:看起来都是ffi。即使在回调函数之外,C函数也不起作用。我的ffi似乎工作得很好,否则呢?
哎呀,没有把free
放进我的cdef
!固定的
ffi.cdef[[
void free(void *ptr);
]]