Связь между C ++ и C #? - PullRequest
       40

Связь между C ++ и C #?

3 голосов
/ 07 марта 2012

Я хочу использовать как C ++, так и C # в своем приложении.

C # для разработки графического интерфейса и C ++ для обработки.

Но я не знаю об этом.Как общаться между ними.

Я не знаю, с чего мне начать и исследовать.

Кто-нибудь может рассказать мне обзор этой технологии?И если у кого-то есть документ на эту тему, пожалуйста, дайте его мне.

Я использую Visual Studio 2010 для разработки.

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

T & TGroup

Ответы [ 4 ]

4 голосов
/ 07 марта 2012

Технология, которую вы ищете: C ++ / CLI , проприетарное расширение языка для C ++, которое позволяет взаимодействовать с кодом .Net.

Основная идея такова: вы пишете свои библиотеки C ++ как всегда на переносимом ISO C ++. Затем вы добавляете тонкую оболочку в C ++ / CLI для тех компонентов C ++, которые вы хотите вызывать из C # (или любого другого языка .Net в этом отношении). Просто учтите, что C ++ / CLI предназначен только для написания кода для взаимодействия с .Net. Не поддавайтесь искушению написать реализацию и в CLI, так как в итоге вы получите код, который не переносим и, вероятно, намного сложнее поддерживать, чем чистая версия C ++.

2 голосов
/ 07 марта 2012

Это зависит от того, какой должна быть архитектура вашего приложения. Например, вы можете создать два разных приложения, одно из которых является ядром, а другое - графическим интерфейсом пользователя и обмениваться сообщениями.Windows очередь сообщений , например, чтобы две конечные точки могли общаться друг с другом.

1 голос
/ 07 марта 2012

Это полностью зависит от архитектуры и требований.Вы можете написать инструкции по обработке в C ++ (lib) и использовать их в GUI.В VS 2010 это можно сделать также легко

1 голос
/ 07 марта 2012

Вы можете использовать C ++ CLI или собственный C ++. C ++ CLI - это управляемый код, а собственный c ++ не будет управляться CLR. Выбор между двумя зависит от вашего использования. Есть определенные ограничения с C ++ CLI.

...