如何使用 Lua 调用共享库中的函数

How to call a function in shared library using Lua

我有一个共享库,其中有一些功能。我想通过使用 luajit.

获取他们的签名来访问它们

我有一个 libtest_c.so --> /usr/local/lib

lua --> /usr/local/bin

require("test_c")

stdin:1:未找到模块 'test_c':

no field package.preload['test_c']
no file './test_c.lua'
no file '/usr/local/share/luajit-2.0.4/test_c.lua'
no file '/usr/local/share/lua/5.1/test_c.lua'
no file '/usr/local/share/lua/5.1/test_c/init.lua'
no file './test_c.so'
no file '/usr/local/lib/lua/5.1/test_c.so'
no file '/usr/local/lib/lua/5.1/loadall.so'

堆栈回溯: [C]: 在函数中 'require' stdin:1:在主块中 [C]: 在 0x00404270

使用Lua调用共享库中的函数:

http://luajit.org/ext_ffi.html

local lib = ffi.load('some.dll')
ffi.cdef[[
  void hello (void);
]]
lib.hello()