注:文章只記錄自己用的過程中的一些問題 和效果展示 如果沒有幫助的話 請直接關(guān)閉
語法或者需要查詢的知識點(diǎn)和需要安裝的環(huán)境自行查詢
環(huán)境:
windows 11
LuaJIT-2.1.0-beta3代碼
demo.lua
local ffi = require("ffi") -- 加載ffi庫
local myffi = ffi.load("demo.so") -- 加載動(dòng)態(tài)庫
-- 所有使用的庫函數(shù)都要對其進(jìn)行聲明,類似C語言引入.h頭文件
ffi.cdef [[
int show(int a, int b);
]]
--調(diào)用C代碼
print(myffi.show(1,2))
demo.c
#include <stdio.h>
int show(int a, int b)
{
if (a < 0) {
return 0;
}
return a + b;
}
- 然后
C代碼編譯成so文件
gcc -shared -fPIC demo.c -o libtest.so
- 使用luajit 方式運(yùn)行l(wèi)ua文件
luajit demo.lua
- 需要注意下面lua腳本中的代碼 調(diào)用的方法 需要和C中的代碼保持一致 改后要統(tǒng)一T穹荨北救!
ffi.cdef [[
int show(int a, int b);
]]