2009-10-07 10 views
3

J'ai une bibliothèque écrite en C++, comment puis-je créer des liaisons en C# pour que je puisse exposer la fonctionnalité de cette bibliothèque en C#? Et je ne veux pas dire "port" (en utilisant éventuellement SWIG). Je veux dire que lors de l'appel de certaines fonctions en C#, le code C++ pur est exécuté, donc c'est rapide. J'ai cherché partout dans google, mais je ne pouvais pas trouver quoi que ce soit o_OCréation de liaisons C#

Merci d'avance :-)

ps: s'il vous plaît prendre en avis, que je suis un peu Noob en C#

+2

Pour le compte rendu, SWIG ne code pas le port, il génère des fonctions wrapper qui vous permettent d'appeler C ou C++ à partir d'un autre langage. Le code C++ pur est toujours exécuté, mais en fonction de la situation exacte, les données peuvent être copiées lors de la transmission de paramètres ou de l'obtention de valeurs de retour. –

Répondre

1

Essayez de regarder ici pour voir si cela aide. Vous pouvez appeler du code non géré à partir de C#. Ce n'est pas très difficile, mais vous devez garder à l'esprit que vous travaillez sans être géré. Venant d'un arrière-plan C++ cela ne devrait pas être trop difficile à garder à l'esprit.

http://msdn.microsoft.com/en-us/magazine/cc301501.aspx