C++ Code in ein Visual C# Projekt integrieren
-
Ich habe aus einem Visual Studio C++ Projekt ein paar Funktionen, die
ich gerne in mein Visual Studio C# integrieren möchte.Kann ich das so "einfach" machen und wenn gibt's vielleicht eine
Anleitung/ein Beispiel?
-
Ist das natives C++ oder C++/CLI?
-
Das sollte ziemlich egal sein, denn eine C++/CLI Zwischenschicht kann natives C++ aufrufen.
-
Also würdet ihr lieber eine dll erstellen, oder den Code umwandeln?
-
Das kommt auf einige Faktoren an. z.B.
* Um wie viel Code handelt es sich, und wie gross/aufwendig würde eine C++/CLI Zwischenschicht werden?
* Was macht der Code (macht der was was sich in C++ angenehmer machen lässt, oder was was man in C# angenehmer machen kann)?
* Soll/muss der Code weiterhin gewartet werden? Wenn ja: sind sowieso immer C++ Entwickler vorhanden, oder wäre das dann das einzige Stück Code für das deine Firma C++ Entwickler benötigt?ps:
i.A. ziehe ich bei sowas reinen C# Code vor. Weil's vom Handling her angenehmer ist. Je nachdem wie die Antworten auf die obigen Fragen ausfallen, kanns allerdings auch sein dass das Unsinn wäre. Ich schreib z.B. nicht >= 10 KLOC Code neu, wenn die Wrapper schicht ein paar hundert Zeilen wären, und es auch sonst keine Probleme macht den Code in C++ zu belassen.
-
@hustbaer:
Zu deinem Punkt, ob der C++ Code weiterhin gewartet werden muss. Was für einen
Unterschied macht das? Meinst du weils dann evtl. zu unübersichtlich wird?
Oder gibt es andere Gründe die dagegen sprechen den Code in C++ zu belassen?
-
Wenn der C++ Code weiterhin in C++ Projekten gebraucht wird, und auch noch weiterhin gepflegt/angepasst werden muss, dann ist das ein Faktor der dagegen spricht alles nach C# zu portieren. Weil du den Code dann 2x pflegen/anpassen musst - 1x die C++ Version und 1x die C# Version.