我有一个so文件,我想从lua调用so文件中的函数

时间:2015-10-14 09:18:45

标签: c lua

我有一个简单的c文件,我已编译并转换为so文件并将.so文件传输到另一个目录。

test.c

#include<stdio.h>
void disp()
{
  printf("This is comming from .so file");
}
int main()
{
  disp();
  return 0;
}

编译gcc -shared -o libtest.so -fPIC test.c

现在我有一个lua文件。我想访问disp()函数。我应该这样做吗?我尝试了以下方式,但没有工作。任何建议??谢谢

test.lua

test={}
function test.init()
return disp()
end

return test

现在,当我执行要求时,我收到以下错误

 Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
    require "test"
    test.init()
    ./test.lua:4: attempt to call global 'disp' (a nil value)
    stack traceback:
        ./test.lua:4: in function 'init'
        stdin:1: in main chunk
        [C]: in ?

0 个答案:

没有答案