Biblioteca de C++ de llamada en C#


23

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.

  0

Ver http://stackoverflow.com/questions/569603/using-c-class-dll- aplicación in-c 22 feb. 092009-02-22 12:37:13

4

Hace poco tuvo que poner algunas cosas en código C++ .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é this tutorial muy útil en la sintaxis. No es tan fácil a simple vista, pero el contenido parecía bastante bueno.


6

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


3

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

Este intro on 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 his index.

El Wikipedia article on P/Invoke tiene una serie de razones por las que podría no desea utilizar este enfoque, con el que estoy de acuerdo:

  • pérdida de apoyo de escribir por el compilador
  • posibles problemas de tipo de datos o de alineación a medida que tiene que asignar tipos a mano
  • necesidad de precisar los objetos recolección de basura

el mejor punto de partida en MSDN es la summary article.