Heim >Backend-Entwicklung >C++ >Wie wähle ich beim Kompilieren mit g den richtigen C-Standard aus?

Wie wähle ich beim Kompilieren mit g den richtigen C-Standard aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 07:55:02600Durchsuche

How Do I Choose the Right C   Standard When Compiling with g  ?

Auswahl des C-Standards in g-Kompilierungen

Das Kompilieren von C-Code mit g erfordert die Berücksichtigung der C-Standardversion, um mögliche Fehler zu vermeiden. Standardmäßig verwendet g eine bestimmte Standardversion, diese kann jedoch mithilfe von Befehlszeilenargumenten überschrieben werden.

Standardstandardversion

Die von g verwendete Standardstandardversion kann Dies kann durch Ausführen des folgenden Befehls ermittelt werden:

g++ -dM -E -x c++ /dev/null | grep -F __cplusplus

Dieser Befehl gibt ein Makro aus, das das __cplusplus-Präprozessormakro definiert und die Version des angibt Es wird der C-Standard verwendet. Zum Beispiel:

#define __cplusplus 199711L  // Represents C++98

Überschreiben der Standardversion

Um die Standardversion zu überschreiben, verwenden Sie das Argument -std= gefolgt von der gewünschten Version. Um beispielsweise C 17 zu verwenden, würde der Befehl lauten:

g++ -std=c++17 example.cpp

Empfehlung

Die Verwendung des Arguments -std= wird aus mehreren Gründen empfohlen:

  • Gewährleistet die Kompatibilität mit der vorgesehenen Version von C.
  • Verhindert unerwartete Fehler zur Verwendung eines veralteten oder nicht unterstützten Standards.
  • Erleichtert die Zusammenarbeit zwischen verschiedenen Systemen und Toolchains mit unterschiedlichen Standardstandards.

Referenzen

  • [g Optionen](https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Options.html)
  • [g Standardversionsabfrage](https://gcc.gnu.org/onlinedocs/gcc/ cpp-options.html#cpp-options_002dM)

Das obige ist der detaillierte Inhalt vonWie wähle ich beim Kompilieren mit g den richtigen C-Standard aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn