November 17, 2019
SDK
"SDK" драйвера - драйвера на основе библиотек от производителя.
Преимущества:
- Большую часть работы делает сторонняя библиотека. Наша задача только связывать её с нашими интерфейсами. Как следствие в теории уменьшается время разработки.
Недостатки:
- Закрытый сторонний код неизвестно какого качества. Как следствие: не возможность самостоятельно устроить проблемы, возникающие у наших клиентов.
- Отсутствие поддержки на разных платформах (может не быть библиотеки для linux или win64)
Проблемные драйвера в большинстве своём приводят к падениям продукта, даже если они не используются.
Варианты линковки: статическая и динамическая
Статической линковка:
- Код попадает в наш бинарник и становится частью нашего приложения.
- Данный способ проще и надежней, т.к нет проблем с загрузкой библиотеки. Она уже в памяти, после того как загрузился драйвер.
Динамическая линковка:
- Рядом с нашим бинарником должен лежать *.dll (*.so для Linux) в котором будет содержаться код данной библиотеки.
- Бывает автоматическая и ручная подгрузка библиотеки. Недостатки автоматической подгрузки - не контролируемая загрузка-выгрузка библиотеки.