将指针传递到Lua FFI中的INT



i具有以下C函数

ffi.cdef [[

typedef struct {
    int index;
    char name[10];
} entry_key_t;
extern entry_t *lookup_entry(entry_key_t *key, int *err);

]]

我很难通过" int *",我尝试了以下变体,

local err_val = ffi.new(" int [1]")本地err_val = ffi.new(" int *")

随着传递给该函数的" err"为null,程序崩溃。(请注意,执行ffi.new之后,我可以通过指针"键"(" entry_key_t [1]")

我想念什么?我正在使用luajit 2.0.2。

不确定这对您有用,但是我用来删除参数的模式是:

local intPtr = ffi.typeof"int[1]"
local key = ffi.new("entry_key_t[1]")
local err = intPtr()
lookup_entry(key,err)
print(err[0])

最新更新