Вызов библиотеки C++ в C#


23

У меня много библиотек, написанных на C++. Я хочу назвать эти библиотеки с C#, однако, я столкнулся со многими проблемами. Я хочу знать, есть ли книга или руководство, чтобы рассказать мне, как это сделать.

  0

См. Http://stackoverflow.com/questions/569603/using-c-class-dll- в-C-приложения 22 фев. 092009-02-22 12:37:13

4

Я недавно пришлось обернуть некоторые C++ код в .NET. Хотя код C++ был упакован как dll, интерфейс был слишком недружественным для P/Invoke, поэтому я решил написать его в управляемом C++ или C++/CLI, поскольку он, очевидно, теперь известен.

Я нашел this tutorial очень полезно по синтаксису. Это не так просто на глаза, но контент казался довольно хорошим.


6

Если вы используете Google C++ C# interop, вы найдете множество информации по этой теме.

Пара ссылок:

http://msdn.microsoft.com/en-us/magazine/cc301501.aspx
http://msdn.microsoft.com/en-us/library/ms235281(VS.80).aspx


3

Я большой поклонник книги C++/CLI in Action, которая имеет несколько полезных разделов образца в Интернете, по этому адресу.

Это intro on CodeProject является хорошей отправной точкой.

Автор C++/CLI в действии имеет ряд статей по CodeProject, прокрутите вниз до раздела C++/CLI на his index.

Wikipedia article on P/Invoke имеет целый ряд причин, почему вы не можете использовать этот подход, с которым я согласен:

  • потери печатал поддержки компилятором
  • возможные вопросы типа данных или выравнивания, как вы должны сопоставить типы вручную
  • необходимость штырю сборки мусора объекты

Лучшей отправной точкой на MSDN является summary article.