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

时间:2014-09-13 23:41:32

标签: c++ lua malloc ffi luajit

我在文档中看到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似乎工作正常吗?

1 个答案:

答案 0 :(得分:5)

哎呀,没有把free放进我的cdef!固定的。

ffi.cdef[[
  void free(void *ptr);
]]