2012-03-07 2 views
3

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

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

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

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

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

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

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

T & TGroup

+1

Вот пример использования библиотеки C++ с C#. http://www.functionx.com/csharp2/libraries/cppcli.htm – v01d

+3

дублировать? http://stackoverflow.com/questions/574801/call-c-library-in-c-sharp – Guillaume

+0

Они очень полезны, я их прочту. Спасибо всем. – TTGroup

ответ

2

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

В Windows вы можете использовать Windows message queue, например, чтобы обе конечные точки обменивались данными друг с другом.

4

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

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

1

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

1

Все зависит от архитектуры и требований. Вы можете написать инструкции по обработке в C++ (lib), используя их в графическом интерфейсе. Также можно легко сделать в VS 2010

Смежные вопросы