Создание расширения для приложения

Создание расширения для приложения Теперь, когда мы имеем приложение, поддерживающее систему расширений, самое время создать для него хотя бы один компонент расширения. TEMPLATE = lib CONFIG += plugin QT -= gui DESTDIR = ../plugins SOURCES = MyPlugin.cpp HEADERS = MyPlugin.h ../Application/interfaces.h TARGET = myplugin Для создания расширения в секции CONFIG pro-файла необходимо добавить опцию plugin, […]

Создание динамической библиотеки

Создание динамической библиотеки Следующий пример демонстрирует создание динамической библиотеки, содержащей только одну функцию. TEMPLATE = lib DESTDIR = .. QT -= gui SOURCES = dynlib.cpp HEADERS = dynlib.h TARGET = dynlib Обратите внимание на файл проекта. Для создания динамической библиотеки нужно установить в секции TEMPLATE значение lib. Расположение готовой библиотеки будет на один уровень выше […]

Поддержка собственных расширений в приложениях

Поддержка собственных расширений в приложениях Связь с расширением производится с помощью интерфейса, поэтому приложение должно предоставлять по меньшей мере один интерфейс для использования расширения. Расширения загружаются приложением при помощи класса QPluginLoader, который содержит несколько методов. Самый часто используемый из них — это метод instance(), создающий и возвращающий указатель на объект расширения. Этот класс автоматически производит […]

Использование динамических библиотек в Qt

Использование динамических библиотек в Qt Существуют два способа использования динамических библиотек. В первом способе связывание с динамической библиотекой производится в процессе компоновки самой программы. В этом случае динамическая библиотека загружается автоматически, при запуске использующей ее программы. Для этого способа потребуется подключить динамическую библиотеку в pro-файле в секции LIB (ее нужно указать с префиксом -l), а […]

Использование расширений (plugins) в Qt

Использование расширений (plugins) в Qt Использование расширений это неотъемлемая часть любого профессионального приложения. По сути, расширение — это совместно используемая динамическая библиотека, предназначенная для загрузки в процессе исполнения основного приложения, которая обязательно должна реализовывать хотя бы один специальный интерфейс. Расширения делятся на две группы: расширения для Qt; расширения для собственных приложений. Расширение для Qt Qt […]

Динамические библиотеки в Qt. Заключение

Динамические библиотеки в Qt. Заключение Динамическая библиотека содержит код, который может использоваться сразу несколькими приложениями. В отличие от статических библиотек, код, содержащийся в динамической библиотеке, не включается в основной код приложения, а находится в отдельном файле. Если при исполнении программы производится вызов функции из динамической библиотеки, то в память компьютера загружаются только нужные функции. Это […]

Динамические библиотеки и система расширений

Динамические библиотеки и система расширений На практике очень часто возникают случаи, когда требуется совместное использование какой-либо функции сразу в нескольких программах, работающих на одном компьютере. Не совсем экономично, если каждая из этих программ будет содержать одинаковый код, значит, необходим механизм для объединения общего кода в отдельных файлах (библиотеках), который позволял бы воспользоваться кодом таких функций. […]