Что такое плагин QT? Каковы различия между плагином qt и созданной на заказ библиотекой qt?
Спасибо.
Что такое плагин QT? Каковы различия между плагином qt и созданной на заказ библиотекой qt?
Спасибо.
Плагины AFAIK Qt реализованы как разделяемые библиотеки (.so в Unix/Linux и DLL в Windows). Различия между ними такие же, как и с плагинами и библиотеками в целом.
Это означает, что архитектура подключаемого модуля не зависит от метода компоновки. Они, как правило, считаются подключаемыми/динамическими связями и не подключаемыми/статическими связями.
Основное приложение определяет контракт интерфейса и обмена данными (т.е. API), через который отдельные модули могут взаимодействовать с приложением и раскрывать функциональность через приложение. Просто отправка новых модулей в DLL не учитывает необходимость того, чтобы приложение само обнаружило эти библиотеки DLL, и знать, как выполнять логику внутри. В этом суть архитектуры плагина. В общем, DLL предоставляет только список процедур или функций. Переменные, классы, объекты внутри dll напрямую не доступны для внешних процессов. Написание плагина включает в себя перемещение большинства или всего соответствующего кода в DLL, где все переменные и объекты могут быть напрямую связаны.
Что-то вроде Eclipse, в котором вы размещаете плагин в предопределенном каталоге, и в следующий раз, когда вы нажмете на какое-то Меню, вы увидите новые записи. Все это без перезагрузки app
или запуска новой версии exe
.
Функция, которую вы называете плагином Qt, является формальной основой внутри Qt, которая позволяет разработчикам предлагать систему плагинов для своего приложения. Qt Plugin обрабатывает динамическую загрузку плагинов, которые могут быть использованы через интерфейс плагина приложением. Вы можете посмотреть Документацию по подключению Qt для получения дополнительной информации и примеров.