Обмен объектами между C # и C ++ - PullRequest
1 голос
/ 11 февраля 2010

Представьте себе проект с компонентом C # и компонентом C ++. Компонент C ++ - это устаревший материал .Net (VC ++ 6.0). Какой простой способ переноса объектов между двумя компонентами? Я испытываю желание использовать System.Xml.XmlSerializer, но я не уверен, как начать пользоваться библиотеками .Net с этим старым приложением VC ++.

Может быть, есть еще более простой способ, который я не рассмотрел. Есть предложения?

Ответы [ 5 ]

5 голосов
/ 11 февраля 2010

Посмотрите на C ++ / CLI. Вы можете написать обертку, которая переводит между двумя мирами.

4 голосов
/ 11 февраля 2010

Как вы относитесь к использованию COM? Приложения .NET могут как использовать COM-объекты, так и представлять себя как COM-объекты.

2 голосов
/ 11 февраля 2010

Сделать C ++ COM-объектом?

0 голосов
/ 11 февраля 2010

В зависимости от того, насколько велик ваш проект, я бы перекомпилировал материал VC6 как C ++ / CLI с VS 2008. Затем вы можете напрямую получить доступ к содержимому .net.

0 голосов
/ 11 февраля 2010

Если ваш компонент C ++ представляет собой неуправляемую DLL, экспортирующую функции в стиле C «Платформа вызывается» - это еще один вариант. Этот метод обеспечивает доступ из управляемого кода .NET (C #) к неуправляемому коду C ++, но не в другом направлении.

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