SDK

"SDK" драйвера - драйвера на основе библиотек от производителя.

Преимущества:

  • Большую часть работы делает сторонняя библиотека. Наша задача только связывать её с нашими интерфейсами. Как следствие в теории уменьшается время разработки.

Недостатки:

  • Закрытый сторонний код неизвестно какого качества. Как следствие: не возможность самостоятельно устроить проблемы, возникающие у наших клиентов.
  • Отсутствие поддержки на разных платформах (может не быть библиотеки для linux или win64)

Проблемные драйвера в большинстве своём приводят к падениям продукта, даже если они не используются.


Варианты линковки: статическая и динамическая

Статической линковка:
- Код попадает в наш бинарник и становится частью нашего приложения.
- Данный способ проще и надежней, т.к нет проблем с загрузкой библиотеки. Она уже в памяти, после того как загрузился драйвер.

Динамическая линковка:
- Рядом с нашим бинарником должен лежать *.dll (*.so для Linux) в котором будет содержаться код данной библиотеки.
- Бывает автоматическая и ручная подгрузка библиотеки. Недостатки автоматической подгрузки - не контролируемая загрузка-выгрузка библиотеки.