Где взять lua5.1.dll?

Опубликовано в QLua

На одном из форумов набрел на оживлённую дискуссию: Где взять lua5.1.dll? Делаем ее на основе qlua.dll

Цитирую выдержки по оригиналу:

При использовании сторонних библиотек для Lua в QUIK возникает стандартная проблема: надо где-то взять run-time библиотеки Lua, чтобы все это заработало. Как минимум, это файл lua5.1.dll


Обычно для всего этого рекомендуют установить пакет Lua для Windows, где все указанное содержится. 


Было бы здорово решить обе эти задачи без установки Lua. И это вполне возможно, ведь у нас есть готовая qlua.dll, которая содержит в себе полную реализацию Lua, к ней бы только прицепиться! Кто сам делает свои библиотеки на C++ для Lua – может легко прицепиться к qlua.dll и не зависеть от lua5.1.dll; а вот те, кто использует готовые библиотеки, теперь может воспользоваться готовым рецептом из этого поста. И никакую Lua for Windows теперь можно не устанавливать!


Идея проста: сделать «прокси-dll», которая будет называться lua5.1.dll, будет иметь идентичный с ней интерфейс, но для выполнения всех функций будет обращаться исключительно к qlua.dll.  

Идея, на мой вкус, не очень. Да и двоичные редакторы никто еще не запретили.

Берем, к примеру, простенькую библиотеку lfs - LuaFileSystem. Она дает доступ из скрипта к многочисленным файловым методам операционной системы.

Открываем ее в двоичном редакторе и ищем строку lua5.1.dll

 Заменяем lua5.1.dll на qlua.dll. Лишние символы забиваем нулями.


Сохраняем изменения. Больше lua5.1.dll не нужна.

 

Комментарии   

# Ant 14.10.2013 00:00
Получилось! Супер!
# swerg 24.10.2013 20:26
Не спора ради, просто любопытно: чем описанный по ссылке вариант "не очень"?
Просто один раз в папку с QUIK положить готовую прокси lua5.1.dll - и проблема отпадает сама собой навсегда.
Дальше можно подкладывать любую lua-библиотеку и спокойно пользоваться ни в какие редакторы не залезая. Вышла новая версия внешней библиотеки - обновить ее и снова работаем.
Вроде проще не придумать. Я, видимо, что-то упускаю?
# admin 24.10.2013 20:45
swerg

C одной стороны, это дело вкуса, конечно.

С другой. Конечно, Ваш вариант прекрасно работает. Я бы и не напрягался, если бы 2 заказчика одновременно не начали меня с этим вопросом дергать.

Пользователю, как правило, совершенно не хочется суетиться и класть какие-то странные файлы в какие-то не менее странные каталоги. Все что они готовы сделать - это разархивировать в первое попавшееся место архив поставки, нажать кнопку и наслаждаться. Поэтому я всегда стараюсь сделать поставку так, чтобы она максимально просто устанавливалась и содержала минимум файлов.
# swerg 25.10.2013 10:29
А, если про такой вариант речь - да, удобно.
# swerg 22.05.2020 07:57
Ретроспективно хотелось бы отметить, что ценность того материала была даже не столько в том, где взять lua5.1.dll (она есть в дистрибутиве Lua), сколько показать то, что нельзя брать lua5.1.dll из дистрибутива Lua и использовать это в QUIK ! Возникло это понимание, конечно, на волне массовых жалоб пр падение различных библиотек.
А нужна именно "прокси-библиот ека", перенаправляюща я все вызовы внутрь qlua.dll

Недостаточно прав для комментирования

Архив QLua