Re[2]: Array-based lists нужны ли на NT или только linked?
От: LimyKurn  
Дата: 23.09.18 20:19
Оценка:
Здравствуйте, -prus-, Вы писали:

P>Здравствуйте, LimyKurn, Вы писали:


LK>>Как вы считаете — стоит ли написать для драйверов свой array-based list (точнее, адаптировать под NT какую-то уже имеющуюся реализацию)?

LK>>Что у них будет с быстродействием? Будет ли выигрыш в каких-то случаях (см. предыдущий вопрос про списки с 2 разными ситуациями)

P>По моему, что-то похожее уже мелькало вроде. C++ RTL for NT kernel-mode drivers

P>Сам не смотрел. Исходники тут.

Это уже другой вопрос получается.
И звучит он так: "стоит ли в NT тащить стороннюю библиотеку, которая реализует STL?"
При этом пока даже неизвестно, есть ли там собственно хоть какой-нибудь array-based list

В целом про такие библиотеки могу сказать следующее.

Они тупо копируют STL, а он не нужен. И это я говорю как человек, который ЗНАЕТ плюсы, пишет на них много и тщательно. Где можно обойти эту STL через Boost, Qt, fc, там ее обходят. А на создание фундамента, достаточного для переноса хотя бы Boost в NT, таких библиотек уже вряд ли хватит. Причем, нужно еще определиться, что из Boost нужно в NT, а что нет. А для этого надо очень плотно крутиться в области и очень многое в ней увидеть. Между тем, вряд ли многие поддержат эту затею финансово

Вывод: если и писать библиотеку утилит, то пока она маленькая, не стоит заботиться тем, что она ни с чем не совместима. Гораздо важнее, чтобы она была нужна. Если при этом можно без особого труда обеспечить еще и совместимость — то делаем, а иначе — нет.


По структуре тут есть вообще такая идея: делать классы не в стиле STL, а, внезапно, в стиле .NET.
На первый взгляд — безумие — зачем? Но ответ приходит быстро: если STL и NT связаны через C++, то .NET и NT связаны через Windows. Именно .NET есть основной инструментарий под Windows, тогда как C++ больше удел линуксоидов. К тому же, хоть .NET и более примитивен, но он и более прогрессивен, чем STL уж точно... Наконец, если выбирать между Windows и C++, то разработчик драйверов NT — это скорее человек со стажем в первом, чем втором... Получается, что идея со стилем .NET с какой-то стороны выглядит даже более здравой.

Но в данном случае меня больше интересует, нет ли там все-таки конкретно array-based list'а, и если есть, то не годен ли он — а взять его к себе можно и отдельно от всего, если он того стоит. Все же, не нужно допускать того, чтобы вы создавали свое тогда, когда намного проще задействовать уже готовое.
Отредактировано 23.09.2018 20:44 LimyKurn . Предыдущая версия . Еще …
Отредактировано 23.09.2018 20:43 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:42 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:30 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:27 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:25 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:25 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:24 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:23 LimyKurn . Предыдущая версия .
Отредактировано 23.09.2018 20:22 LimyKurn . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.