Создать новую библиотеку C в lua

Я хочу знать, как я могу создать и использовать новую библиотеку C в lua 5.2.3. Я не могу использовать динамическую библиотеку (require, shared library,...), потому что я нахожусь во встроенной системе. Я нашел ответ, но он для lua 5.0 ( http://www.lua.org/pil/26.2.html) и поэтому не совместим. Если у кого-то есть идея?

2 ответа

Решение

Редактировать linit.c и добавьте вашу точку входа в библиотеку. Затем добавьте измененный linit.c к вашему проекту. Компоновщик будет использовать вашу копию вместо той, что в библиотеке Lua.

Это предполагает, что ваше приложение звонит luaL_openlibs,

Lua 5.2 имеет некоторые изменения API по сравнению с 5.1/5.0, поэтому используйте ссылку для 5.2.3. Вы также можете купить Программирование на Lua 3rd edition для 5.2, в котором обновлены примеры.

Другие вопросы по тегам