.net Plattformübergreifend / C++ Libs



  • Hallo!

    Ich möchte langsam den Umstieg von der MFC hin zu einer neuen Klassenbibliothek
    schaffen und habe da zunächst an .net gedacht. Wichtig ist mir, dass ich damit
    dann auch plattformübergreifend (Linux, Win reicht erstmal) Anwendungen erstellen
    kann, deren GUI dann auch vernünftig aussieht. Gerne würde ich bei der Sprache
    C++ bleiben, da mir doch viele Sprachfeatures recht lieb geworden sind 😉

    Hier ein paar Fragen, die ich so noch nicht klären konnte:

    - Wenn ich C# verwende, werde ich dann noch auf C++ Klassen vernünftig zugreifen können?

    - Könnte ich dotGNU mit C++(/CLI) verwenden? Auf der Site steht immer nur etwas von C

    - Sieht dotGNU unter Windows wirklich so bescheiden aus, wie die Screenshots es zeigen?

    - Wenn ich unter Windows C++/CLI mit dem MS.net programmiere, könnte der Bytecode
    dann unter Mono laufen, oder geht das nur mit Mono programmierten Anwendungen?

    Würde mich über Antworten freuen 🙂

    EnERgYzEr

    Edit: Habt ihr vielleicht Empfehlungen, wie ich C++, .net und eine schöne GUI unter
    einen Hut bekomme?



  • Nimm lieber nur C++ mit wxWidgets.



  • dotGNU kannst du glaube ich weglassen. Das Mono Team arbeitet gerade an einem vernünftigen WinForms Support. Wenn der erst mal richtig funktioniert kannst solltest du deinen C# Code leicht unter Mono neu kompilieren können.



  • tommazzo schrieb:

    Wenn der erst mal richtig funktioniert kannst solltest du deinen C# Code leicht unter Mono neu kompilieren können.

    Du wirst nichtmal neu compilieren müssen.



  • > - Wenn ich C# verwende, werde ich dann noch auf C++ Klassen vernünftig zugreifen können?

    Ja und Nein. Wenn die C++ Klasse managed ist dann geht das. Wenn es eine "native" Klasse ist geht das nicht (Der C++ Standard ist hier leider noch recht rückständig). Hier müsstest du die Klasse mit C wrappen.

    > - Könnte ich dotGNU mit C++(/CLI) verwenden? Auf der Site steht immer nur etwas von C

    DotGnu ist da noch lange nicht so weit. C-Funktionen einbinden geht aber recht angenehm mit DllImport.

    > - Sieht dotGNU unter Windows wirklich so bescheiden aus, wie die Screenshots es zeigen?

    Kann schon sein. Die Entwicklungvon dotGNU geht insgesammt sowieso recht langsam vorran. Die von Mono sind da schon deutlich weiter.

    > - Wenn ich unter Windows C++/CLI mit dem MS.net programmiere, könnte der Bytecode dann unter Mono laufen, oder geht das nur mit Mono programmierten Anwendungen?

    Du brauchst da nichts recompilieren. Bedingung ist allerdings das deine Anwendung 100% managed ist. C++/CLI erlaubt ja auch das Einbinden von nativem Code.

    > Edit: Habt ihr vielleicht Empfehlungen, wie ich C++, .net und eine schöne GUI unter einen Hut bekomme?

    Wenn es Plattformunabhängig sein soll wird das etwas schwer, da es für Linux keinen managed C++ (bzw. C++/CLI) Compiler gibt.
    An C# kommst du da wohl kaum vorbei. Plattformunabhängige GUIs gibt's inzwischen aber schon für .NET: GTK# und wx.NET sind da zu nennen.




Anmelden zum Antworten