我在文档中看到 ffi.C.free 是我可以用来释放 malloc 的东西。我在这里尝试这样做:
callbacks.free_buffer = function(buffer)
print("free_buffer_callback")
ffi.C.free(buffer)
end
我收到这个错误:
missing declaration for symbol 'free'
这是否意味着我必须先使用 FFI 自行 malloc 内存?我不能在这个特定的函数中这样做(因为它是回调中的参数)。我该怎么做才能释放这个缓冲区?
编辑:看起来所有 ffi.C 函数都不起作用,即使在回调函数之外也是如此。我的 ffi 似乎工作正常?
最佳答案
糟糕,没有将 free
放入我的 cdef
中!固定。
ffi.cdef[[
void free(void *ptr);
]]
关于c++ - ffi.C 缺少所有符号的所有声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25828778/