Я хочу знать, как я могу создать и использовать новую библиотеку C в lua 5.2.3. Я не могу использовать динамическую библиотеку (требуется, разделяемая библиотека,...) из-за встроенной системы. Я нашел ответ, но он для lua 5.0 (http://www.lua.org/pil/26.2.html), поэтому он несовместим. Если у кого-то есть идея?
Создайте новую библиотеку C в lua
comment
Просто напишите это так, как будто у вас есть общие объекты, но свяжите его с базой lua и предоставьте функцию настройки базовой системе в файле конфигурации lua.
- person Deduplicator   schedule 14.08.2014
Ответы (2)
Отредактируйте linit.c
и добавьте в него точку входа в библиотеку. Затем добавьте измененный linit.c
в свой проект. Компоновщик будет использовать вашу копию вместо той, что находится в библиотеке Lua.
Это предполагает, что ваше приложение вызывает luaL_openlibs
.
person
lhf
schedule
14.08.2014
У меня есть еще одна проблема. Я делаю скрипт lua, в котором вызываю одну из функций из моей новой библиотеки. Я думаю, мне нужно добавить ссылку между сценарием и исходным кодом lua, как требование. Но я понятия не имею, требуется, кажется, не ответ.
- person Subas; 18.08.2014
В Lua 5.2 есть некоторые изменения API по сравнению с 5.1/5.0, поэтому вместо этого используйте ссылку для 5.2.3. а>. Вы также можете купить Programming in Lua 3rd edition для версии 5.2, в которой есть обновленные примеры.
person
Advert
schedule
14.08.2014