LuaJIT 如何使用 FFI 包装 C 数据类型?

假设我有以下的 LuaJIT 代码:

local ffi = require "ffi"

ffi.cdef[[
    typedef struct { int num; } container;
]]

local a = ffi.new("container")
a.num = 10

library.doSomethingTo(a)

假设 library.doSomethingTo 由以下的 C 代码确定:

int doSomethingDo(lua_State *L) {
    //在这里添加代码
}

需要在 //在这里添加代码 的位置添加什么代码,才能使 library.doSomethingTo(a) 输出 10?

点赞