C++ Library nach .NET portieren?
-
Hi,
ich hab mal eine Frage zum portieren von native in managed Code.Und zwar habe ich eine (native) C++ Library, die mehrere Klassen (inkl. Mehrfachvererbung) und Template-Funktionen enthält. Jetzt wäre es schön, diese irgendwie in z.B. C# verwenden zu können.
Wegen den Templates ist es ja nicht möglich, eine Wrapper Klasse in C++/CLI zu schreiben.
Dann wäre doch im Prinzip die einzige Möglichkeit, den C++ Source Code nach reinem managed C++/CLI zu portieren, oder?
Und da häufig (native) Referenzen und die STL verwendet wird, dürfte das ganze wohl eine etwas längliche Aufgabe sein?
Oder gibt es da einen einfacheren Weg (wie z.B. (stupide) einfach alle "&" durch "%", alle "template"s durch "generic"s etc. zu ersetzten)?
-
C++/CLI verpflichtet einen nicht alles in .Net zu schrieben (wenn möglich, würde ich C# empfehlen).
Du kannst in einem Projekt C++/CLI musst aber nicht. Zum Beispiel kannat du dann Wrapperklassen von den entschiedenen Klassen erstellen u.ä..
-
Gugi schrieb:
Oder gibt es da einen einfacheren Weg (wie z.B. (stupide) einfach alle "&" durch "%", alle "template"s durch "generic"s etc. zu ersetzten)?
Hihi, nein, da gibt's nix in der Richtung.
Aber ... was Rhombicosidodecahedron geschrieben hat nochmal in anderen Worten: was intern abgeht ist scheissegal. Da können nach wie vor massig Templates und Referenzen und was-nicht-noch alles verwendet werden.
Wenn du das Interface so einschränken kannst, dass dort keine Templates/Referenzen etc. mehr nötig sind, hast du schon gewonnen.Sonst wird es wohl vermutlich deutlich schwerer.
-
Genau dass ist das Problem: Viele Teile des Interfaces sind templates
Naja, gut, dann ist das keine schnelle Geschichte und ich lasse es lieber. Danke
-
Gugi schrieb:
Genau dass ist das Problem: Viele Teile des Interfaces sind templates
Naja, gut, dann ist das keine schnelle Geschichte und ich lasse es lieber. Danke
wenn die DLL generell auf C++/CLI umgesetzt werden soll, dann ist das ein guter Zeitpunkt die DLL neu aufzubauen