我最近研究了Lua,它看起来真的很不错。唯一让人讨厌的是它缺少(标准)库。但是随着JIT编译器的出现,一个很好的FFI接口随之而来。
我来自java背景,所以我尽量避免使用C,所以我的问题是:有谁有LuaJIT的经验,特别是它的FFI接口,为一个几乎不懂C的人建立一个库有多难?
发布于 2011-04-17 16:55:54
对我来说似乎真的很简单,Mike Pall在here上有一些很好的教程,lua邮件列表也包括一些很好的例子,所以也可以查看归档。
发布于 2015-09-15 22:21:32
为几乎没有C语言知识的人建立一个库有多难?
非常简单。首先,您需要声明您想要使用的函数。然后,加载目标库并将其分配给Lua变量。使用该变量调用外部函数。
下面是一个使用C数学库中的函数powf的示例。
local ffi = require("ffi")
-- Whatever you need to use, have to be declared first
ffi.cdef([[
double powf(double x, double y);
]])
-- Name of library to load, i.e: -lm (math)
local math = ffi.load("m")
-- Call powf
local n, m = 2.5, 3.5
print(math.powf(n, m))https://stackoverflow.com/questions/5692396
复制相似问题