Изучение COM все еще какого-либо использования? [закрытый]

От человека, желающего знать больше о Windows Internals, читая книгу "Windows Internals", и желая войти в разработку драйвера, изучает COM программирование хорошей идеи?

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

10
задан Tony The Lion 4 February 2010 в 22:39
поделиться

4 ответа

В настоящее время COM используется нечасто, но огромное количество программного обеспечения все еще использует его. Достаточно простого понимания основ.

4
ответ дан 3 December 2019 в 21:59
поделиться

Драйверы устройств Windows не имеют ничего общего с COM. Вы можете спокойно игнорировать это.

4
ответ дан 3 December 2019 в 21:59
поделиться

COM также не имеет большого значения для разработки драйверов режима ядра, но потенциально полезен для драйверов пользовательского режима. DirectShow - это, например, COM, и есть даже облегченный аналог COM, используемый в фильтрах DShow режима ядра.

Существует много кода, который называется COM, а унаследованный код исчезает через годы или десятилетия. Но, что более важно, IMO - это тот факт, что сборка .NET выглядит как COM-объекты при использовании из C / C ++, поэтому я думаю, что еще есть некоторая ценность в знании COM , если вы собираетесь продолжать писать код C / C ++ .

Если вы планируете перейти на C #, Java или один из десятков других языков без указателей, которые (судя по вопросам здесь SO) большинство программистов приняли, то нет, не стоит упущенных возможностей .

7
ответ дан 3 December 2019 в 21:59
поделиться

С одной стороны, COM кажется предпочтительным методом Microsoft для взаимодействия между собственным и управляемым (.Net) кодом. И, честно говоря, .Net хорошо справляется с COM.

С другой стороны, бессмертными словами Лино Тадрос :

COM похож на КУРЕНИЕ: если вы еще не начали, вам не следует начинать сейчас, если вы уже делаете это, это пора остановиться.

Лично я использую его, когда мне нужно поговорить с существующими COM-объектами (например, MSXML), или если мне абсолютно необходимо поговорить со сборкой .Net из нативного кода, где что-то вроде неуправляемого экспорта не подходит, но не Не считаю это полезным для новых разработок.

1
ответ дан 3 December 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: