Плагинная разработка
Почему каждый просмотрщик фотографий завязан на своей библиотеке-просмотрщике? Можно было бы подцеплять библиотеки как плагины: нужен jpeg - openjpeg, png - libpng и т.п. (библиотеки взяты от балды). Получается библиотека-прослойка, перенаправляющая в выбранную библиотеку. Для вызова прослойки нужно придумать уникальное имя аля getjpeg, getpng. Как я понимаю принцип работы библиотек: мы по заранее известному имени отправляем ей запрос «сделай это», она это делает и при необходимости возвращает какое-нибудь значение. Возможно, будет оверхед из-за копирования буфера по памяти, но прослойка же может создать именованный пайп и дать его имя обоим своим клиентам - работать они будут друг с другом. Не думаю, что тривиальный биндинг-библиотеку будет трудно написать неподготовленному, но заинтересованному пользователю.. Чем плоха реализация такой плагинной системы? Можно ли сделать лучше?