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

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

Если вы google «c ++ c # interop», вы найдете массу информации по этой теме.

Несколько ссылок:

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

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

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

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

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

У автора C ++ / CLI в Action есть ряд статей о CodeProject, прокрутите вниз до раздела C ++ / CLI по его индексу .

Статья Википедии о P / Invoke имеет ряд причин, по которым вы, возможно, не захотите использовать этот подход, с которым я согласен:

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

Лучшей отправной точкой в ​​MSDN является сводная статья .

  • Как сравнить функции?
  • Написание собственной функции квадратного корня
  • Расширение существующей функции jQuery
  • Разница между передачей массива и указателем на функцию в C
  • Перейти к определению функции в vim
  • Имя таблицы как параметр функции PostgreSQL
  • Ошибка: не удалось найти функцию ... в R
  • Как объяснить обратные вызовы на простом английском языке? Как они отличаются от вызова одной функции от другой функции?
  • Функции ползунковых скобок
  • Использование нескольких .cpp-файлов в c ++-программе?
  • Как заставить функцию СУММ в MySQL возвращать '0', если значения не найдены?
  • Давайте будем гением компьютера.