Я родом из Python и CTYPES ... и пытаюсь найти лучший способ вызвать стандартную общую библиотеку C из скрипта Lua.
Я слышал о "Чужом" (http://alien.luaforge.net/), но я не уверен, насколько он актуален? Это означает, что он регулярно обновляется?
Например, я знаю, что это библиотека SQLite Lua, но, скажем, я хотел вызвать созданную разделяемую библиотеку SQLite.когда я компилирую SQLIte?
Так, например: В моем случае библиотека находится в /usr/local/lib/libsqlite3.so
Если я пишу небольшой фиктивный скрипт, просто чтобы посмотреть, если онмогу загрузить библиотеку
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 не может вызывать совместно используемых библиотек "из коробки" и что я ДОЛЖЕН использовать что-то вродеЧужой?
Я знаю, что могу также кодировать общую библиотеку таким образом, чтобы она включала файлы заголовков Lua, и я мог создавать "функции Lua" ... Я просто надеялся Iможет вызвать общие библиотеки, которые являются "стандартными" на коробке.
И помощь или объявлениеТиски будут с благодарностью; -)
Спасибо
Линтон