Я хочу закодировать некоторые функции на C для использования в Lua, и я думаю, что самый простой способ сделать это — использовать FFI LuaJIT.
У меня есть файл C "add.c":
int add(int a, int b){
return a+b;
}
Я собираю его в «add.o» с помощью:
gcc -c add.c
Делаю "add.dll":
gcc - shared -o add.dll add.o
Наконец, я пытаюсь запустить следующий код Lua в LuaJIT:
local ffi =require("ffi")
local test=ffi.load("C:\\users\\quebe\\Desktop\\add")
ffi.cdef[[
int add(int a,int b);
]]
print(test.add(1,2))
и получить:
luajit: test.lua:3: cannot load module 'C:\users\quebe\Desktop\add': %1 is
not a valid Win32 application.
stack traceback:
[C]: in function 'load'
test.lua:3: in main chunk
[C]: at 0x7ff72be120c0
но я понятия не имею, как интерпретировать это для отладки.
add
из своей библиотеки? - person Egor Skriptunoff   schedule 13.08.2017