Zusammenhang zwischen C++ Compiler und ISO-Standard
-
Guten Morgen
,die ISO hat ja nun schon einige Standards publiziert. Der C++14 Standard ist laut isocpp.org und Wikipedia bereits fertig gestellt (klar C++14).
Des weiteren konnte ich isocpp.org entnehmen, dass der nächste Standard bereits weiter entwickelt wird und für 2017 vorgesehen ist.Alles schön und gut, aber während C++17 ("bald") erscheint, haben die meisten Compiler noch nicht ein mal den C++11 Standard vollständig implementiert.
Ich kann mich gut daran erinnern, wie man vor einigen Monaten noch C-Arrays zur initialisierung von Vektoren benutzen musste. Einige Schlüsselwörter wie z.B
"noexcept" (C++11) sind (bei mir) noch immer nicht implementiert.Fehlen mir vielleicht updates? Oder liegt es eventuell daran, dass ich ausschließlich kostenlose Compiler in Anspruch nehme
?Grüße NeeLa
-
NeeLa schrieb:
Fehlen mir vielleicht updates?
Könnte man meinen.
Oder liegt es eventuell daran, dass ich ausschließlich kostenlose Compiler in Anspruch nehme
?Wenn du damit die bekannten Open Source Compiler meinst: Das sind eigentlich die, die am schnellsten neue Features implementieren.
-
Wenn du damit die bekannten Open Source Compiler meinst: Das sind eigentlich die, die am schnellsten neue Features implementieren.
Macht Sinn.

Via Visual Studio konnte ich einige Updates für diverse tools ausfindig machen. Offensichtlich haben diese aber eher weniger mit C++ bzw. dem C++ Compiler zu tun.
Versteht dein Compiler das Schlüsselwort "noexcept" schon?
-
GCC kennt
noexceptseit 2011, Intel kennt es seit 2013, Microsoft seit 2014 (ok, das ist echt nicht lange her, typisch Microsoft
), Clang seit 2012. Gerade Clang und GCC sind extrem schnell mit der Umsetzung neuer Features. GCC hatte vieles von C++11 bereits Jahre vor Verabschiedung des Standards implementiert. Clang hätte das sicherlich auch, wenn es damals schon richtig etabliert gewesen wäre. Dafür hat Clang bereits seit 2013 vollständig C++14 umgesetzt (und damit auch C++11).
-
warum sollten bei mir Updates fehlen, wenn beim Compiler Standardforderungen noch nicht 100% implementiert sind?
Standards sind bis auf ein paar Ausnahmen nicht so spannend. Erweiterte Funktionalität, bzw. Bibliotheken wie beim lcc oder bei xsc oder neueste Hardwareberücksichtigungen sind irgendwie interessanter.
Zum Thema Updates: Beim lcc kann man gut sehen, wo eines der Probleme liegt: Fehleranfälligkeit einiger Programme in den Griff bekommen (wedit.exe z.B.) Die neuesten Updates sorgen dafür, dass eine allgemeine w32-Kompatibilität nicht mehr gegeben ist (neuestes Windows bitte...)(insofern passt lcc-w32 nicht mehr).Beim gcc sieht das ganze schon besser aus. Einigermaßen up to date und ordentlich gepflegt bzw. dokumentiert. So auch der Intelcompiler. Sind beide für Linux kostenlos.
hier sind noch ein paar Compiler-Repls gelistet zum Testen:
https://isocpp.org/get-started
-
GCC kennt noexcept seit 2011, Intel kennt es seit 2013, Microsoft seit 2014 (ok, das ist echt nicht lange her, typisch Microsoft
), Clang seit 2012. Gerade Clang und GCC sind extrem schnell mit der Umsetzung neuer Features. GCC hatte vieles von C++11 bereits Jahre vor Verabschiedung des Standards implementiert. Clang hätte das sicherlich auch, wenn es damals schon richtig etabliert gewesen wäre. Dafür hat Clang bereits seit 2013 vollständig C++14 umgesetzt (und damit auch C++11).Da hatte ich doch tatsächlich die GCC-Version 4.3.4 auf meinem Rechner..
Danke
!warum sollten bei mir Updates fehlen, wenn beim Compiler Standardforderungen noch nicht 100% implementiert sind?
Standards sind bis auf ein paar Ausnahmen nicht so spannend. Erweiterte Funktionalität, bzw. Bibliotheken wie beim lcc oder bei xsc oder neueste Hardwareberücksichtigungen sind irgendwie interessanter.
Zum Thema Updates: Beim lcc kann man gut sehen, wo eines der Probleme liegt: Fehleranfälligkeit einiger Programme in den Griff bekommen (wedit.exe z.B.) Die neuesten Updates sorgen dafür, dass eine allgemeine w32-Kompatibilität nicht mehr gegeben ist (neuestes Windows bitte...)(insofern passt lcc-w32 nicht mehr).Beim gcc sieht das ganze schon besser aus. Einigermaßen up to date und ordentlich gepflegt bzw. dokumentiert. So auch der Intelcompiler. Sind beide für Linux kostenlos.
hier sind noch ein paar Compiler-Repls gelistet zum Testen:
https://isocpp.org/get-startedBlöd, dass ich den Link nicht vorher gesehen habe. Interessant ist (für mich) aber eigentlich alles, womit ich meinen Quellcode eleganter schreiben kann. Dazu zählen halt auch die ISO Standards

-
Falls du VS willst, da ist die neueste Version 2015 RC. https://www.visualstudio.com/en-us/news/vs2015-vs.aspx Kann allerdings trotzdem deutlich weniger als gcc und clang, leider.