Создание COM-объекта из C ++? - PullRequest
0 голосов
/ 08 января 2011

Я хочу создать dll из кода C ++ и использовать его в C #. Есть ли решение создания COM-объекта из C ++?
Я не хочу использовать System.Runtime.InteropServices.

Большое спасибо

Ответы [ 4 ]

4 голосов
/ 08 января 2011

Вы можете написать COM напрямую (см. Ответ @ Darin Dimitrov), но вы также можете использовать ATL .Мое любимое решение для представления кода C ++ для C # (хотя без COM) заключается в использовании C ++ / CLI .

4 голосов
/ 08 января 2011

Конечно, вы можете писать объекты COM + с C ++. Вот учебник .

1 голос
/ 29 июля 2012

Есть 3 способа сделать это.

1) Используйте PInvoke из C # для вызова нативных методов.

2) Используйте C ++ - CLI для создания слоя, предоставляющего собственные функции C #. Это мой рекомендуемый подход к производительности.

3) Запишите C ++ dll как COM-объект и получите доступ из C #. Требуется знание COM и, следовательно, стоимость разработки.

0 голосов
/ 12 июля 2011

вы можете использовать ATL, это слишком просто, и вам просто нужно зарегистрировать DLL.после этого вы можете использовать его во всех программах на c #

...