我在文档中看到 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似乎工作正常?
ffi.C
函数是否正常工作?在回调函数中呢?因为那个信息听起来像是 luajit 找不到这个名称的 C 库函数... 这让我感到非常奇怪。 - Etan Reisnerffi.C.printf("Hello %s!", "world")
给我一个 printf 缺少声明的错误。虽然 ffi 在其他地方似乎是有效的?(ffi.C 无论何时都不能正常工作,即使在回调之外)。 - theman