Heim >Backend-Entwicklung >C++ >Wie kann ich nach C 11-Compiler-Unterstützung suchen?
Prüfung auf C 11-Unterstützung
In C ist die Feststellung, ob ein Compiler bestimmte Funktionen von C 11 unterstützt, von entscheidender Bedeutung, um die Kompatibilität sicherzustellen. Es gibt einige Methoden, um diese Prüfung zur Kompilierungszeit durchzuführen, darunter:
Verwendung der Konstante __cplusplus
Die vom Präprozessor definierte Konstante __cplusplus gibt die unterstützte C-Standardversion an . Zum Beispiel:
#if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif
Boost-Definitionen verwenden
Boost stellt Definitionen (__has_feature(feature_name)) bereit, die die Überprüfung auf bestimmte C 11-Funktionen ermöglichen, wie zum Beispiel:
#if __has_feature(cxx_automatic_resource_management) // C++11 has automatic resource management #endif
Beispiel: Prüfung auf Variadic Vorlagen
Angenommen, Sie möchten Variadic-Vorlagen verwenden, eine C 11-Funktion. Sie können die Unterstützung mit dem folgenden Code überprüfen:
#ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
Das obige ist der detaillierte Inhalt vonWie kann ich nach C 11-Compiler-Unterstützung suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!