Плагин своими руками

Опубликовано: 19.10.2017

Функциональность программ зачастую могут улучшать не только их непосредственные разработчики, но и другие люди. Они, как правило, являются пользователями тех программ, которые хотят улучшить. Возможно это в тех случаях, когда программа поддерживает различные дополнения. Дополнения эти обычно реализуются в виде плагинов.

Что такое плагины?

Конечно, возможны всякие вариации, но обычно под плагином понимается какая-то динамически компонуемая библиотека (DLL - Dynamic Link Library) специального формата, которая благодаря находящимся в ней функциям расширяет возможности "родительского" приложения. Конечно, в широком смысле слова под плагинами можно понимать не только DLL'ки, а, например, и такие комплексные вещи, как дополнения к Mozilla Firefox. Но обычно плагин - это именно специальная динамическая библиотека.

Чем же эта динамическая библиотека такая вся из себя специальная? Всё дело в том, какие функции она экспортирует. Чтобы приложение могло загрузить эту библиотеку и использовать содержащиеся в ней функции, ему должен быть известен их вид - в общем-то, это всегда так с динамической компоновкой. Поэтому все плагины для одной программы имеют одинаковые имена и форматы функций, используемых в приложении. Конечно, среди экспортируемых функций могут быть и другие, но тогда спрашивается, зачем они там нужны.

Универсального формата плагинов, который подходил бы всем приложениям, не существует. Причина этого проста: очень разные функции выполняют разные программы, и было бы странно пользоваться плагинами к Adobe Photoshop из Sound Forge. Но, тем не менее, свои стандарты есть, а потому приложения, выполняющие сходные функции, часто "понимают" плагины своих конкурентов. Например, среди графических приложений стандартом де-факто стали уже упоминавшиеся плагины к Photoshop, а среди приложений для работы со звуком распространён формат VST.

rss