代码之家  ›  专栏  ›  技术社区  ›  panwar001

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

  •  2
  • panwar001  · 技术社区  · 10 年前

    我有一个共享库,其中有一些函数。我想通过使用luajit获得他们的签名来访问他们。

    我有一个libtest_c。所以-->/usr/local/lib

    lua-->/usr/local/bin(本地/bin)

    require(“测试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

    1 回复  |  直到 10 年前
        1
  •  5
  •   Eric Leschinski Mr. Napik    10 年前

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

    http://luajit.org/ext_ffi.html

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