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.


Log in to reply