C++ auf allen Betriebssystemen?



  • DevBeat schrieb:

    Gibt es eine vergleichbare IDE die sich mit Visual Studio messen kann, alerdings für plattformunabhängige Projekte?

    Nein.

    Wie gesagt: Der Code ist auch mit Visual Studio portabel. Du müsstest dann einfach auf Linux wieder Code::Blocks o.Ä. verwenden, bzw. ein Makefile oder CMake-Skript schreiben. Wenn du auf ein paar IDE-Features verzichten kannst, programmier eben direkt in Code::Blocks.

    hhdddeee schrieb:

    Der VS Compiler schlug viel mehr als der g++, da kannst du schon noch ein paar Stunden dran sitzen, bis ein Programm auch unter g++ compiliert.

    Was heisst "schlug viel mehr", lässt er mehr durchgehen?

    Das Hauptproblem ist Name Lookup bei Templates, da der VC++ kein Zwei-Phasen-Lookup macht. Dadurch wird teilweise ein fehlendes typename oder using in Klassen toleriert. Wenn man das weiss, kann man es auch auf Anhieb richtig machen...

    <:xmas2:>



  • DevBeat schrieb:

    Mich würde mal interessieren was so richtige IT Firmen für C++ Spiele für Editroren verwenden (plattformunabhängig) Kann man das pauschal sagen
    ? Oder ein paar aufzählen?.

    Visual Studio, Netbeans, Eclipse, CodeBlocks, Xcode, ...

    Visual Studio läuft zwar nur auf Windows bzw. Xcode nur auf Mac OS, man kann mit denen aber trotzdem plattformunabhängig entwickeln.
    Natürlich wird man für andere Plattforman eigene Makescripts etc. brauchen, und vermutlich auch ein paar kleine Anpassungen vornehmen müssen. Aber das verhindert ja nicht dass man den Grossteil der Arbeit in VS/Xcode/... macht.



  • Warum wird mir hier so ans Bein gepisst? Der Compiler der Wahl für plattübergreifende C++ Entwicklung ist eben der g++ (und vlt in Zukunft clang), Punkt.
    Deswegen entwickelt man eben auch unter Windows damit (wenn viele Plattformen das Ziel sind) bevor man sich einen Compiler an den Hals bindet, der einige Dinge nicht standardkonform durchsetzt, wenige C++11 Features implementiert, ganz andere Compiler Extensions anbietet etc.



  • Wie sieht es eigentlich auf der g++-Mailinglist aus, seit clang so am durchstarten ist? 🙂



  • Ethon schrieb:

    Warum wird mir hier so ans Bein gepisst? Der Compiler der Wahl für plattübergreifende C++ Entwicklung ist eben der g++ (und vlt in Zukunft clang), Punkt.
    Deswegen entwickelt man eben auch unter Windows damit (wenn viele Plattformen das Ziel sind) bevor man sich einen Compiler an den Hals bindet, der einige Dinge nicht standardkonform durchsetzt, wenige C++11 Features implementiert, ganz andere Compiler Extensions anbietet etc.

    Weil das nicht stimmt.
    Unter Windows nimmt man, alleine schon wegen dem besseren Debugging den VC++.



  • Shade Of Mine schrieb:

    Ethon schrieb:

    Warum wird mir hier so ans Bein gepisst? Der Compiler der Wahl für plattübergreifende C++ Entwicklung ist eben der g++ (und vlt in Zukunft clang), Punkt.
    Deswegen entwickelt man eben auch unter Windows damit (wenn viele Plattformen das Ziel sind) bevor man sich einen Compiler an den Hals bindet, der einige Dinge nicht standardkonform durchsetzt, wenige C++11 Features implementiert, ganz andere Compiler Extensions anbietet etc.

    Weil das nicht stimmt.
    Unter Windows nimmt man, alleine schon wegen dem besseren Debugging den VC++.

    Also würdest du Code ohne variadische Templates etc schreiben und den Code mit Präprozessor Direktiven besprenkeln nur damit du unter Windows einen geringfügig einfacher zu bedienenden Debugger hast, der dir auf anderen Plattformen nix bringt?



  • Ethon schrieb:

    Also würdest du Code ohne variadische Templates etc schreiben und den Code mit Präprozessor Direktiven besprenkeln nur damit du unter Windows einen geringfügig einfacher zu bedienenden Debugger hast, der dir auf anderen Plattformen nix bringt?

    varidadic Templates und sonstwas sind nett, aber die Toolchain mit der man Entwickelt (Debugger, etc.) ist wichtiger.

    Im endeffekt ist die Entwicklungszeit mit guten Toolchains einfach soviel kuerzer als mit schlechten Toolchains und gcc hat unter Windows einfach nichts vernuenftiges.

    Natuerlich wird es auch Situationen geben wo man lieber zum gcc greift unter Windows - aber um ehrlich zu sein: mir faellt aktuell kein Grund ein.



  • Shade Of Mine schrieb:

    Ethon schrieb:

    Also würdest du Code ohne variadische Templates etc schreiben und den Code mit Präprozessor Direktiven besprenkeln nur damit du unter Windows einen geringfügig einfacher zu bedienenden Debugger hast, der dir auf anderen Plattformen nix bringt?

    varidadic Templates und sonstwas sind nett, aber die Toolchain mit der man Entwickelt (Debugger, etc.) ist wichtiger.

    Im endeffekt ist die Entwicklungszeit mit guten Toolchains einfach soviel kuerzer als mit schlechten Toolchains und gcc hat unter Windows einfach nichts vernuenftiges.

    Natuerlich wird es auch Situationen geben wo man lieber zum gcc greift unter Windows - aber um ehrlich zu sein: mir faellt aktuell kein Grund ein.

    Da stimme ich dir voll und ganz zu. Habs immer wieder probiert vom VC loszukommen, aber es gibt keinen vernünftigen Grund. Code::Blocks ist maßlos überladen, Eclipse nen Schmerz im Arsch und laggt/zieht Performance wie Seuche und CodeLite funzt auch nur wenns grade will.
    Dazu muss man mit MSYS arbeiten, weil man sonst ständig mit Fehlern bei den Makefiles für MinGW zu kämpfen hat.

    Die größte Stärke imho ist auch der support für vorkompilierte Header. Das einzustellen ist unter Eclipse auch ein wahnsinniger Aufwand.



  • Könnte vlt auch davon abhängen was die Hauptentwicklungsplattform ist ... denke ein OsX-Entwicklerteam wird deutlich weniger Interesse daran haben, den Windows Port mit VC++ zu kompilieren. 🙂



  • Ethon schrieb:

    Könnte vlt auch davon abhängen was die Hauptentwicklungsplattform ist ... denke ein OsX-Entwicklerteam wird deutlich weniger Interesse daran haben, den Windows Port mit VC++ zu kompilieren. 🙂

    Wenn du XPlatform arbeitest, dann gewöhnt man sich eh an gewisse Erweiterungen der STL, die nur bei diesem Compiler gehen, nicht zu benutzen.
    Und für Makefiles nimmt man dann besser CMake.
    Dann isses wayne was dein Target ist. Kompiliert ist das fix ;).
    Und beim Umstieg Mac -> Windows wird dein größeres Problem wohl Big Endian sein als der Compilersupport ;).



  • @Scorcher24
    Hast du die letzten paar hundert Mac Generationen mit Intel Core CPU s verpennt oder wie? 🤡



  • hustbaer schrieb:

    @Scorcher24
    Hast du die letzten paar hundert Mac Generationen mit Intel Core CPU s verpennt oder wie? 🤡

    Ich folge der Mac Entwicklung überhaupt nicht :p.
    Also ja :xmas2:.



  • Ethon schrieb:

    Könnte vlt auch davon abhängen was die Hauptentwicklungsplattform ist ... denke ein OsX-Entwicklerteam wird deutlich weniger Interesse daran haben, den Windows Port mit VC++ zu kompilieren. 🙂

    Der kann ja auch kein Objective-C 😉



  • Scorcher24 schrieb:

    Aber wenns ums Debuggen geht und damit verbringt man viel Zeit, ist der MSVC die beste IDE. Da beisst die Maus kein Faden ab.

    So allgemein ist das doch einfach Quatsch. Abhängig davon was für ein Problem man debuggen will, gibt es deutlich bessere Werkzeuge als den MS-Debugger. Wenn ich bspw. Synchronisationsprobleme in nebenläufigem Code debuggen muss, verschwende ich meine Zeit doch nicht mit dem Visual-Studio-Debugger, sondern nehme ein hierfür geeignetes Werkzeug, das für diese Art von Problem gedacht ist und mir viel Arbeit ersparen kann. Gleiches gilt für Speicherverwaltungsbugs. Spezialisierte Werkzeuge sind oft einfach die bessere Wahl, wenn sie im vorliegenden Fall anwendbar sind.

    Hier fällt der gesamte IDE-Ansatz dann allerdings regelmäßig auseinander. Ich jedenfalls nutze lieber die für mein Anwendungsgebiet besten Tools, anstatt das zu nehmen, was mir eine IDE vorsetzt. Das fängt ja bei den meisten IDEs schon mit einem bestenfalls mittelmäßigem Editor an und hört bis hin zum Linker nicht auf. Die ein oder andere hochqualitative Komponente (wie für manche Probleme eben der MS-Debugger) reißt es dann auch nicht mehr raus.



  • DevBeat schrieb:

    Guten Abend, bin neu hier,

    und ich bin am überlegen C++ zu lernen.

    Meine Voraussetzung dafür ist aber, dass die Sprache Plattformunabhängig ist.

    Meine Frage ist nun, läuft ein C++ Programm auf allen Betriebssystem?(Windows/Linux/Mac OS)
    Mfg

    Auf den von Dir genannten ja.

    Wenn Du Dir eine Programmiersprache suchst, ist meine Ansicht, daß die Plattformunabhängigkeit nicht das wichtigste Kriterium sein sollte.

    Viel wichtiger ist z.B., ob die Sprache auch noch in zwanzig Jahren uptodate ist.
    Was bei C++ mit hoher Wahrscheinlichkeit wohl der Fall sein dürfte.

    Sehr wichtig ist natürlich auch, was Du programmieren willst. C++ ist ein sehr gute Allroundsprache,wenn es um sehr spezielle Dinge geht, allerdings nicht immer die beste Wahl.



  • redrew99 schrieb:

    DevBeat schrieb:

    Meine Frage ist nun, läuft ein C++ Programm auf allen Betriebssystem?(Windows/Linux/Mac OS)
    Mfg

    Wenn Du Dir eine Programmiersprache suchst, ist meine Ansicht, daß die Plattformunabhängigkeit nicht das wichtigste Kriterium sein sollte.

    Das Argument, dass Java die beste Programmiersprache sei, weil sie Platformunabhängig ist, ist das gleiche Argument, dass Analsex der beste Sex ist, weil er Geschlechterunabhängig ist 😉


  • Mod

    Bloß dass Java eben nur auf einer bestimmten Maschine läuft, der Java-VM. Wehe, sie ist für die eigentlich vorhandene Plattform nicht verfügbar.



  • SeppJ schrieb:

    Bloß dass Java eben nur auf einer bestimmten Maschine läuft, der Java-VM. Wehe, sie ist für die eigentlich vorhandene Plattform nicht verfügbar.

    Das weiß ich auch, aber die Pointe der Aussage sollte klar werden 😉



  • Cyres schrieb:

    Das Argument, dass Java die beste Programmiersprache sei, weil sie Platformunabhängig ist, ist das gleiche Argument, dass Analsex der beste Sex ist, weil er Geschlechterunabhängig ist

    Ahja, und wie soll das bei 2 Frauen auf natürlicheweise klappen?!



  • Jasmin schrieb:

    Cyres schrieb:

    Das Argument, dass Java die beste Programmiersprache sei, weil sie Platformunabhängig ist, ist das gleiche Argument, dass Analsex der beste Sex ist, weil er Geschlechterunabhängig ist

    Ahja, und wie soll das bei 2 Frauen auf natürlicheweise klappen?!

    Gar nicht aber dafür gibts ja strap ons.


Anmelden zum Antworten