Я пытаюсь загрузить пример lproc программа (описанный при Программировании Lua, Главы 30) в Lua и портить так или иначе. Я следую за этим - http://www.lua.org/pil/26.2.html для получения моего c модуля в lua. Следующее является шагами, которые я сделал:
У меня есть lproc.h и lproc.c (содержащий точно функции, размеченные в Главе 30 книги). Я компилирую lproc.c как---gcc-c lproc.c-DLUA-USERCONFIG = \"lproc.h \"
Я сделал библиотеку из lproc.o, названного тем же.
И затем скомпилированный lua.c, как проинструктировано. Мои заголовочные файлы содержат макро-LUA_EXTRALIBS и объявления метода.
Перешел к интерпретатору Lua, и он дал следующие ошибки:
> require "lproc" stdin:1: module 'lproc' not found: no field package.preload['lproc'] no file './lproc.lua' no file '/opt/local/share/lua/5.1/lproc.lua' no file '/opt/local/share/lua/5.1/lproc/init.lua' no file '/opt/local/lib/lua/5.1/lproc.lua' no file '/opt/local/lib/lua/5.1/lproc/init.lua' no file './lproc.so' no file '/opt/local/lib/lua/5.1/lproc.so' no file '/opt/local/lib/lua/5.1/loadall.so' stack traceback: [C]: in function 'require' stdin:1: in main chunk [C]: ?
Кажется, что модуль не стал зарегистрированным, что я должен буду сделать от Lua? Время коротко, и я делаю что-то страшно неправильно, любое направление приветствовалось бы.
Спасибо,
Саянский
Самый простой способ - создать разделяемую библиотеку и динамически загрузить модуль C. Таким образом, вам не придется перестраивать интерпретатор Lua. Есть несколько примеров в http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/ и пояснения в http: //www.tecgraf.puc-rio. br / ~ lhf / ftp / lua / install.html и http://lua-users.org/wiki/BuildingModules