2015-03-03 5 views
12

Ich installierte gcc 4.9.2. Ich das Programm zusammengestellt mit dem folgenden Befehl:Unterschied zwischen gcc Kompilieroptionen Std = C++ 1y und Std = C++ 14

/root/gcc-4.9.2/bin/g++ -std = C++ 1J testing.cpp

Beachten Sie, dass zusätzlich zu der Option „-std = C++ 1y ", gibt es eine weitere Option" -std = C++ 14 ". Funktioniert der Compiler auf die gleiche Weise und erzeugt für beide Optionen genau die gleiche ausführbare Datei? Danke!

+1

https://gcc.gnu.org/onlinedocs/gcc/C- Dialect-Options.html # index-std-108 –

+0

Danke Limette für die Erklärung und danke Marc für den Link, der besagt, dass C++ 1y und C++ 14 "Der ISO C++ Standard 2014 plus Änderungen" sind. Der Name 'c + + 1y 'ist veraltet. " – ysrhung

Antwort

17

C++ 14 ist die neueste ISO-Norm, und sollte verwendet werden, es sei denn, Sie einige gcc nicht Standard-Feature benötigen

C++ 1J ist ein Name, der zur c verwendet wurde ++ 14-Standard zu beziehen, bevor es war abgeschlossen, so dass es höchstwahrscheinlich einem Entwurf des Standards, aber nicht dem eigentlichen Standard selbst entspricht. Möglicherweise gibt es einige kleine Unterschiede zwischen den beiden, aber C++ 14 ist der ISO-Standard

Kurz gesagt, verwenden C++ 14

Verwandte Themen