Gibt es irgendwelche Werkzeuge für die Portierung von c ++ Code zu c # -Code? [geschlossen]

StackOverflow https://stackoverflow.com/questions/2823456

Frage

Ich habe ein paar c ++ Dienstprogramme, dass ich in dem Hafen möchte über Netz Punkt. Ich frage mich, ob es gibt Werkzeuge für eine c ++ Anwendung auf c # portieren?

Ich stelle mir vor, dass jedes automatisiertes Tool ein Durcheinander von Code machen würde, vielleicht sollte ich auch fragen, ob dies eine gute Idee ist oder nicht?

War es hilfreich?

Lösung

Die bessere Frage ist, warum sollte man immer nur Port Arbeits Code ohne Mehrwert zu gewinnen (dh neue Funktionen)? Der Aufwand wird fast cetainly härter und länger dauern, als Sie erwarten. Besser, nutzen Sie die vielen Interop-Funktionen von .NET C ++ von C # -Code zu nennen. Konzentrieren Sie sich auf das Hinzufügen neuer Funktionen in C #, aber verschwenden Sie Ihre Zeit nicht funktionierenden Code zu portieren.

Andere Tipps

  1. Tastatur.
  2. Maus.
  3. Monitor.
  4. Kaffee.
  5. Regulärer Ausdruck suchen und ersetzen.

Sicher, es ist ein lebhafter Markt . Wenn man von C ++ zu C # gibt Ihnen etwas, dass könnte sauber kompilieren. So dass es tatsächlich Arbeit eine Zeile-für-Zeile nimmt „oh Gawd Ich werde ich TOMOROW schießen“ Anstrengung. YMMV.

Dies sollte ein Kommentar gewesen. Aber ich habe nicht genug Anmeldeinformationen einen Kommentar zu hinterlassen. Dies ist nicht genau zu Ihrer Frage. Ich dachte, es wird für Sie nützlich sein.

C ++ -> C #: Was Sie wissen müssen, von C zu bewegen ++ zu C #

Meine Firma, Semantic Designs ein Werkzeug, das konvertieren von C ++ hat zu C #. Es behandelt die Umwandlung Kern Sprachkonstrukte von C ++ (Daten / Klassendeklarationen, ausführbare Anweisungen) zu C #. Das Übersetzungs-Tool basiert auf der DMS Software Reengineering Toolkit .

Es muss Anpassung an Griff übersetzt exotische Konstrukte (COM Anrufe, Ihre individuelle APIs, ...) zu C #. Jedes Tool finden Sie vielleicht werden solche Anpassung benötigen; kein off-the-shelf-Tool kann praktisch Ihren vollständigen Satz von spezifischen Gegebenheiten richten.

Wie über die C ++ / CLI-Compiler, die .NET-Assemblies von C ++ Code erzeugt. Schließlich möchten Sie die Einstiegspunkte zu überarbeiten .NET-Typen zu akzeptieren (z System::String anstelle des klassischen char *), aber Sie werden eine Menge zu .NET schneller durch nicht mit C # bekommen. Darüber hinaus gibt es automatisierte Konvertierungen zwischen C ++ / CLI und C #, aber erst nach der C ++ Code ist .NETified (die zuvor genannte Umstellung auf System::String, generic<typename T> System::Collections::Generic::List usw.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top