Насколько сложно LuaJIT FFI? - PullRequest
       27

Насколько сложно LuaJIT FFI?

10 голосов
/ 17 апреля 2011

Я недавно заглянул в Lua, и это кажется действительно хорошим. Единственное, что раздражает, это отсутствие (стандартных) библиотек. Но с JIT-компилятором поставляется приятный интерфейс FFI C.

Исходя из Java-опыта, я старался избегать C как можно больше, поэтому мой вопрос: есть ли у кого-нибудь некоторый опыт работы с LuaJIT, особенно с его интерфейсом FFI, и насколько сложно настроить библиотеку для того, у кого мало нет знаний в C?

Ответы [ 2 ]

16 голосов
/ 17 апреля 2011

Мне показалось очень простым, и у Майка Полла есть несколько хороших уроков здесь , список рассылки lua также содержит несколько хороших примеров, так что посмотрите также архивы

2 голосов
/ 15 сентября 2015

Насколько сложно настроить библиотеку для человека, который мало или совсем не знает C?

Действительно просто.Во-первых, вам нужно объявить функции, которые вы хотите использовать.Затем загрузите целевую библиотеку и назначьте ее переменной Lua.Используйте эту переменную для вызова сторонних функций.

Вот пример использования функции powf из математической библиотеки C.

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