Блог им. Karim

Quik. Подключение внешней DLL на С++.

    • 22 марта 2017, 11:40
    • |
    • Karim
  • Еще


Иногда возникает необходимость подключить к скрипту, написанному на QLua внешнюю DLL на С++.  Что это дает и какие плюсы.

1. Для С++ написано масса библиотек, которые облегчают процесс программирования. Если нужно создать меню, кнопки, окошки с вводом данных то это Win32. Если нужно что-то нарисовать, то OpenGL и т.д.

2. Облегчается процесса отладки и, если алгоритм сложный, то это немаловажно. Кроме того, С++ язык гораздо мощнее чем Lua.

3. Появляется возможность создать «прокладку» (коннектор)  на С++ и передавать  данные из Quik в стороннюю программу, написанную на любом языке.

Можно, наверное, найти еще плюсы, но мне хватило и этих, чтобы изучить и освоить  методику создания и подключения внешних dll-библиотек к скриптам Quik. Чем и хочу поделиться.

В видео показано, как это делается. Архив проекта —  yadi.sk/d/-y2jxmjd3GEZM4

★25
7 комментариев
Облегчается процесса отладки и, если алгоритм сложный, то это немаловажно. Кроме того, С++ язык гораздо мощнее чем Lua.

Статически-типизированный язык по-определению не может быть мощней динамически-типизированного, просто потому что необходимость проверки типов на этапе компиляции неизбежно накладывает огромные ограничения на выразительные возможности языка. Он может быть типобезопасным, но не более мощным, это разные вещи, и, как правило, взаимопротиворечащие.
avatar
sortarray sortarray, статическая типизация позволяет снижать количество говнокода, генерируемого программистами разного уровня. Собственно, никто не мешает реализовать динамическую типизацию в С++ (куча примеров гуглится на ура). В C# это сделано на уровне DLR. Просто С++ обладает огромным количеством преимуществ — и скорость, и широкие возможности написания кода, его расширения и т.п. Есть ли подобные плюшки в LUA? Не уверен…
Забавно, что за основу взят вот этот материал
quik2dde.ru/viewtopic.php?id=18
но разве ж принято ссылаться на источники нынче.
avatar
swerg, 
За основу взяты:
1.Р.Иерузалимски «Программирование на языке Lua.»
2. Литвиненко Н.А. Технология программирования на С++. Win32 API-приложения (2010)
3.Б.Страуструп «Язык программировани С++».

Извиняюсь, что не сослался на первоисточники.
avatar
Karim, т.е. писать правду, что был взят готовый проект по указанной ссылке и на его основе показан видеоролик всё сделано — мы не будем. А вот неостроумно пошутить — это всегда запросто, верно я вас понял?
Удивительно это. Любопытно в самом деле  узнать, в самом деле: почему так?
Кстати, очень интересно: что именно в указанном видеоролике взято из 2 и 3 источников? Просьба указать. Ну, вы ведь них ссылаетесь.
Очень интересно вас послушать.
avatar
swerg, Посмотрел вашу ссылку. Впечатляет, подробно и профессионально. Мне до такого уровня еще далеко. Буду стремится.
avatar
Karim
Если я ошибся в своих предположениях (увы, вы не говорите об этом явно) — приношу извинения.
Удачи вам!
avatar

теги блога Karim

....все тэги



UPDONW
Новый дизайн