Как мне написать COM DLL?

Чтобы улучшить себя, я пытаюсь сделать COM-библиотеку моей dll совместимой, я подумал, что мне просто нужно расширить / реализовать несколько интерфейсов и выполнить работу, но теперь я нахожусь на перекрестке,

1) Должен ли я изучать MIDL?

2) Должен ли я установить ATL (я использую VC++ Express)?

3) Продолжайте читать учебники по C++ (http://progtutorials.tripod.com/COM.htm) и надеетесь, что моя редакция Express слишком ограничена?

2 ответа

Решение

Я был заинтересован в переносе нативного C++ на Android и Java и читал, что библиотекам нужно будет предоставлять либо статические функции в стиле C, либо реализовывать COM.

Android - операционная система на основе Linux... Она не поддерживает библиотеки DLL и COM.

Так что нет, вы не можете пойти через COM. Вам нужно научиться использовать JNI.

1) да. Если вы собираетесь определять новые интерфейсы, вам в значительной степени придется. Не обойтись без MIDL, но гораздо сложнее, чем выучить базовый MIDL.

2) Да, пожалуйста. Он будет скрывать большую часть кода котельной пластины (что утомительно писать и подвержено ошибкам).

3) Я бы порекомендовал книгу Essential COM от Don Box. Это круто Кроме того, отличным компаньоном для этой книги является Essential IDL Мартина Гудгина.

Что касается VC++ Express - я никогда не использовал их. Я предполагаю, что возможно сделать COM с этим, но с ограниченной поддержкой инструмента / библиотеки.

Другие вопросы по тегам