Можно ли использовать COM-компонент на платформах, отличных от Windows? - PullRequest
1 голос
/ 03 июля 2010

Я хотел знать, возможно ли использовать компонент COM на других платформах, таких как linux и т. Д.,

Мой вопрос заключается в том, что компонент COM должен быть зарегистрирован в ОС и для этой ОСнужно что-то вроде реестра, чтобы клиент мог использовать компоненты COM.

Может кто-нибудь пролить свет на мой вопрос?

Ответы [ 4 ]

1 голос
/ 03 июля 2010

Если вы хотите иметь возможность создавать COM-классы, указав «строку», и хотите, чтобы ОС могла искать правильную двоичную библиотеку для загрузки, а также создавать фактический COM-класс (объект), тогда некоторая формарегистрации.

Кроме этого, если вы хотите использовать только интерфейсы в стиле COM (интерфейсы, производные от IUnknown, IDispatch и т. д.), вы можете сделать это на любых языках C ++ (при условии реализации vtable).этого компилятора C ++ совместим с COM).

Наконец, некоторые функции COM, такие как межпроцессное взаимодействие и удаленный вызов, предоставляются как часть ОС Windows.Если вам нужны эти возможности, вам нужно будет реализовать свои собственные.

Страница Wikipedia на CORBA , кажется, содержит некоторые ссылки на ряд вариантов.Проверьте раздел См. Также.

1 голос
/ 03 июля 2010

Запись в Википедии для Microsoft COM говорит в «Обзоре», что «стандарт интерфейса реализован на нескольких платформах», но не указывает, какие именно.Если вы ищете кроссплатформенный подход, вам лучше использовать что-то вроде XPCOM .

0 голосов
/ 03 июля 2010

Теоретический ответ - да, возможно использование COM-компонентов на других платформах. Вот статья еще в 1998 году о построении COM-компонентов в UNIX . Однако даже в те времена это не было популярным (или разумным!) Подходом.

0 голосов
/ 03 июля 2010

Технически говоря, COM - это просто архитектура, которая может быть реализована на любой платформе. Например, поиск зарегистрированных классов в реестре - это то, что вы можете реализовать аналогичным образом на любой другой платформе. Остальное - о библиотеках DLL и MIDL, которые вы можете использовать на любой платформе.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...