Chiamare la libreria C++ in C#


23

Ho un sacco di librerie scritte in C++. Voglio chiamare queste librerie da C#, tuttavia, ho incontrato molti problemi. Voglio sapere se c'è un libro o delle linee guida per dirmi come farlo.

  0

Vedere http://stackoverflow.com/questions/569603/using-c-class-dll- in-c-applicazione 22 feb. 092009-02-22 12:37:13

4

Recentemente ho avuto per avvolgere po 'di codice C++ in .NET. Sebbene il codice C++ fosse impacchettato come una DLL, l'interfaccia era troppo ostile per P/Invoke, così ho deciso di scriverlo in C++ gestito, o C++/CLI come è apparentemente noto ora.

Ho trovato this tutorial molto utile per la sintassi. Non è così facile per gli occhi, ma il contenuto è sembrato piuttosto buono.


6

Se si utilizza google "C++ C# interop", troverete un sacco di informazioni su questo argomento.

un paio di link:

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


3

Sono un grande fan del libro C++/CLI in Action, che ha un paio di capitoli di esempio utili on-line, a questo indirizzo.

Questo intro on CodeProject è un buon punto di partenza.

L'autore di C++/CLI in Action ha un numero di articoli su CodeProject, scorrere fino alla sezione C++/CLI su his index.

Il Wikipedia article on P/Invoke ha un certo numero di motivi per cui si potrebbe non si desidera utilizzare questo approccio, che condivido:

  • perdita del sostegno digitando dal compilatore
  • possibili tipi di dati o di allineamento di problemi, come si necessario mappare tipi mano
  • necessità di pin oggetti garbage collection

il punto di partenza è la MSDN summary article.