luaJIT 调用 C代码打包成的so文件中的方法

2022-05-24  本文已影响0人  不na讷

注:文章只记录自己用的过程中的一些问题 和效果展示 如果没有帮助的话 请直接关闭
语法或者需要查询的知识点和需要安装的环境自行查询

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;
}

gcc -shared -fPIC demo.c -o libtest.so      
ffi.cdef [[
int show(int a, int b);
]]
上一篇下一篇

猜你喜欢

热点阅读