Лучший способ для Lua-скрипта вызвать общую библиотеку C?

Я больше знаком с Python и CTYPES ... и пытаюсь найти лучший способ вызвать стандартную совместно используемую библиотеку C из сценария Lua.

Я слышал об "Alien" (http://alien.luaforge.net/), но не уверен, насколько он актуален? Это означает, что она регулярно обновляется?

Например, я знаю, что это библиотека SQLite Lua, но, допустим, я хотел вызвать общую библиотеку SQLite, которая создается при компиляции SQLIte?

Так, например: В моем случае библиотека находится в / usr / local / lib / libsqlite3. так

Если я напишу небольшой фиктивный сценарий, чтобы посмотреть, сможет ли он загрузить библиотеку

require "libsqlite3"

print "hello"

, я получу следующую ошибку:

debian@debian:~/Desktop/SQLite Test$ lua sqlite_test.lua
lua: error loading module 'libsqlite3' from file '/usr/local/lib/lua/5.2/libsqlite3.so':
    /usr/local/lib/lua/5.2/libsqlite3.so: undefined symbol: luaopen_libsqlite3
stack traceback:
    [C]: in ?
    [C]: in function 'require'
    sqlite_test.lua:1: in main chunk
    [C]: in ?
debian@debian:~/Desktop/SQLite Test$ 

Означает ли это, что Lua не может вызывать общие библиотеки "из коробки" и что у меня ЕСТЬ ЧТОБЫ использовать что-то вроде Alien?

Я знаю, что могу также закодировать совместно используемую библиотеку таким образом, чтобы она включала файлы заголовков Lua, и я мог создавать «функции Lua» ... Я просто надеялся Я мог бы назвать общие библиотеки, которые являются "стандартными" на коробке.

И помощь или совет будут очень благодарны; -)

Спасибо

Lynton

5
задан Lynton Grice 12 November 2010 в 06:25
поделиться