Bestimmung der implementierten C-Standardversion
Die Bestimmung der C-Standardimplementierung Ihres Compilers kann entscheidend für die Sicherstellung der Kompatibilität und die Nutzung der neuesten Sprachfunktionen sein . Es wurden mehrere C-Standards veröffentlicht, darunter C 98 und C 03.
Eine Methode zur Identifizierung der Standardversion ist die Überprüfung des Makros __cplusplus.
__cplusplus-Makro
Laut Bjarne Stroustrups C 0x-FAQ wird das __cplusplus-Makro auf a gesetzt Wert größer als 199711L für C 11 und höher. Einige Compiler setzen dieses Makro jedoch möglicherweise nicht richtig.
GCC
gcc hat in der Vergangenheit unabhängig von der Sprachversion __cplusplus auf 1 gesetzt. Dieses Problem wurde in gcc 4.7.0 behoben.
MSVC
MSVC definiert __cplusplus außerdem fälschlicherweise als 199711L. Um den richtigen Wert zu erhalten, fügen Sie entweder /Zc:__cplusplus zu den Compiler-Flags hinzu oder überprüfen Sie das MSVC-spezifische Makro _MSVC_LANG.
Erwartete __cplusplus-Werte
Andere Methoden
Wenn __cplusplus nicht ausreicht oder nicht verfügbar ist , andere Ansätze include:
Es ist wichtig zu beachten, dass nicht alle Compiler alle Funktionen eines C-Standards vollständig implementieren. Um eine zuverlässige Codeausführung sicherzustellen, ist eine sorgfältige Prüfung der Compilerkompatibilität und Funktionsunterstützung erforderlich.
Das obige ist der detaillierte Inhalt vonWie kann ich die implementierte C-Standardversion meines Compilers ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!