Llame a la biblioteca de C ++ en C #

Tengo muchas bibliotecas escritas en C ++. Quiero llamar a estas bibliotecas desde C #, sin embargo, he encontrado muchos problemas. Quiero saber si hay un libro o una guía que me diga cómo hacerlo.

Si busca en google “c ++ c # interop”, encontrará toneladas de información sobre este tema.

Un par de enlaces:

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

Recientemente tuve que ajustar algunos códigos de C ++ en .NET. Aunque el código de c ++ se empaquetó como un dll, la interfaz era demasiado antipática para P / Invoke, por lo que decidí escribirlo en c ++ administrado, o C ++ / CLI, como aparentemente ahora se conoce.

Encontré este tutorial muy útil en la syntax. No es tan fácil a simple vista, pero el contenido parecía bastante bueno.

Soy un gran admirador del libro C ++ / CLI en Acción, que tiene un par de capítulos de muestra útiles en línea, en esa dirección.

Esta introducción a CodeProject es un buen punto de partida.

El autor de C ++ / CLI en acción tiene varios artículos sobre CodeProject, desplácese hacia abajo a la sección C ++ / CLI en su índice .

El artículo de Wikipedia sobre P / Invoke tiene una serie de razones por las que es posible que no desee utilizar ese enfoque, con lo cual estoy de acuerdo:

  • pérdida de compatibilidad de escritura por el comstackdor
  • posible tipo de datos o problemas de alineación ya que tiene que mapear tipos a mano
  • necesidad de fijar objetos recogidos basura

El mejor punto de partida en MSDN es el artículo de resumen .