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])