注:文章只记录自己用的过程中的一些问题 和效果展示 如果没有帮助的话 请直接关闭
语法或者需要查询的知识点和需要安装的环境自行查询
-
环境:
windows 11
LuaJIT-2.1.0-beta3 -
代码
demo.lua
local ffi = require("ffi") -- 加载ffi库
local myffi = ffi.load("demo.so") -- 加载动态库
-- 所有使用的库函数都要对其进行声明,类似C语言引入.h头文件
ffi.cdef [[
int show(int a, int b);
]]
--调用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 方式运行lua文件
luajit demo.lua
- 需要注意下面lua脚本中的代码 调用的方法 需要和C中的代码保持一致 改后要统一!!
ffi.cdef [[
int show(int a, int b);
]]
网友评论