我有一个简单的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 ?