2011-02-11 4 views
0

Cela peut être une question simple, mais comme je n'ai aucune expérience en C++ et que mon patron m'a donné une solution C++, je dois poser cette question.Conversion de la solution C++ à une bibliothèque de classes

J'ai une solution C++ qui doit être transformée en une bibliothèque de classe .NET qui peut ensuite être utilisée dans une autre solution .NET faite en C#.

Est-ce encore possible ???

Vive

+0

une solution C++ * non gérée? –

Répondre

3

Vous devez envelopper toutes les classes C++ qui devraient être visibles dans .NET dans les classes C++/CLI.

Read this

Il y a aussi des outils automatisés pour ce faire, mais je jamais utilisé ces (je ne les fais pas vraiment confiance). Cela dépend du nombre de classes C++ et de leur complexité. L'écriture des wrappers est la plupart du temps simple une fois que vous vous êtes habitué à certaines bizarreries de C++/CLI.

1

Cela dépend de la sortie de la solution C++. Est-ce une application (* .exe) ou une bibliothèque (* .dll)?

S'il s'agit d'une bibliothèque (* .dll), vous pouvez utiliser Platform Invoke Tutorial pour appeler ses fonctions en code managé. De nombreux exemples d'appel de fonctions natives Win32 peuvent être trouvés au http://pinvoke.net/. Si votre résultat est une application, il est possible qu'il ait une interface COM. Dans ce cas, vous pouvez utiliser le COM interop pour communiquer avec votre application. Last but not least, vous pouvez écrire avec C++/CLI un wrapper géré autour de votre fonctionnalité C++. Mais c'est beaucoup de travail et a beaucoup d'embûches.

Questions connexes