Я больше знаком с 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