通过FFI调用C语言
ffi.cdef[[
typedef struct {float x, y, z;} Vector_t;
typedef int (*CFunctionPtr)(int, int);
int printf(const char *fmt, ...);
]]
local vec = ffi.new("Vector_t")
print(vec)
vec.x = 1
vec.y = 2
vec.z = 3
local add = function(a, b)
return a + b
end
local c_function_ptr = ffi.cast("CFunctionPtr", add)
ffi.C.printf("Hello %s!\\n", "luajit") -- printf将内容打印到stdout,因此在日志中是不可见的
print(c_function_ptr(1, 2))最后更新于