malnefrage.de
malnefrage.de
Menü
Facebook
Twitter
E-Mail
Bookmark
weitere
Ratgeber-Community für Fragen & Antworten:
Forum mit Tipps, Hilfe und Ratschläge
Forum Frage stellen! Neue Fragen Neue Antworten Ratgeber Login
Frage
Frage
von JohnTheKipper

Wie kann ich bei C++ einen bestimmten Standard Explizit für den Compiler einstellen?

z.B. C++ 98 oder C++ 14 oder C++ 17?

Antwort
Antwort
von CgigPlus
Für jeden C/C++ Programmcode, der von GCC, G++ oder MSVC kompiliert wird, versucht der Compiler, einem oder mehreren C/C++ Sprachstandards zu folgen. Du kannst dem Compiler explizit angeben, welchen der verfügbaren C/C++ Standards beim Kompilieren deines Programms verwendet werden soll. Die Version des Standards kannst Du in der Kompilierungsoption "-std=..." (Linux; MinGW für Windows) bzw. "/std:..." (MSVC für Windows) in der Kommandozeile festlegen.

Zum Beispiel:
$ gcc -std=c17 ./my_prog.c

$ gcc -std=c++11 -lstdc++ ./my_prog.cpp

$ g++ -std=c++17 ./my_prog.cpp -o my_prog

> csc.exe /std:c++17 my_prog.cpp
GCC Compiler unterstützt die folgenden C Standards:
c90 (1990; ANSI C)
c99 (1999)
c11 (2011)
c17 (2017)

GCC/G++ Compiler unterstützen die folgenden C++ Standards:
c++98 (1998)
c++11 (2011)
c++14 (2014)
c++17 (2017)
c++2a (2020)

Um auch GNU-Erweiterungen für einen bestimmten Standard zu aktivieren, verwende die Bezeichnung "gnu" anstatt von "c++" im Parameter "-std=...". Zum Beispiel, "-std=gnu17" anstatt von "-std=c++17".

Du kannst den Parameter "-std=..." auch in den Variablen CFLAGS (für C Compiler) bzw. CCFLAGS (für C++ Compiler) im Makefile angeben, wenn Du ein Makefile benutzt. Die Variable aus dem Makefile wird beim automatischen Aufruf des Compilers (Build-Prozess) durch den Wert $(CFLAGS) bzw. $(CCFLAGS) ersetzt.

Zum Beispiel:
$GCC $CFLAGS my_prog.c -o file $LDFLAGS
In Entwicklungsumgebungen (IDE) für C/C++ wie Microsoft Visual Studio findest Du die entsprechenden Optionen unter Project > Properties > C/C++ > Language > C++ Language Standard. Du kannst den gewünschten C/C++ Standard im Dropdown-Menü auswählen.

Die von Microsoft Visual Studio unterstützten C++ Standards und die entsprechenden Kommandozeilenparameter sind:

/std:c++14 (2014)
/std:c++17 (2017)
/std:c++latest (die aktuell implementierten Features von Compiler und Standardbibliotheken)

Visual Studio 2017 unterstützt CMake Projekte. CMake erlaubt es, den C++ Standard als Property in CMakeLists.txt zu setzen.

Zum Beispiel:
add_library (${PROJECT_NAME})
set_property (TARGET ${PROJECT_NAME}
PROPERTY
# Den Standard C++14 aktivieren
CXX_STANDARD 14
)

Ähnliche Fragen
Hallo zusammen, ich habe einen Artikel über Metallurgie gelesen und frage daher, ob jemand was in die Richtung studiert? Explizit dazu habe ich keinen ...
Hallo, ich bin derzeit am tüfteln, wie ich bei einem Raspberry Pi 4 (8GB Ram) unter einem virtuellen Server den Standard Audio Ausgang übergeben kann. ...
Wahrscheinlich bin ich einfach nur zu blöd, aber sagt mal, wo finde ich auf einem Android Smartphone das Paragraph-Zeichen auf der Gboarb Tastatur? Benutze ...
Hallo, ich habe mir Alexa von Amazon geholt und jetzt wollen meine Kids Ihr dauernd Fragen stellen. Die Standard Fragen haben haben sie alle gefühlt ...
Weiß jemand wie ich den Standard Zeichensatz bei MySQL auf dem Server ändern kann? Ich möchte mir den default charset anzeigen lassen. Wenn dieser latin1 ...
Nächste Frage

Die auf malnefrage.de veröffentlichten Fragen und Antworten sind Meinungsäußerungen der jeweiligen User. Da die Aussagen nicht geprüft werden, kann die Richtigkeit der Inhalte nicht gewährleistet werden.