ffi.C缺少所有符号的声明。

我在文档中看到 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 在其他方面似乎都运行正常?

点赞
用户2030964
用户2030964

抱歉,我在cdef中没有加上free!已经修复。

ffi.cdef[[
  void free(void *ptr);
]]
2014-09-14 01:59:49