Heim > Backend-Entwicklung > C++ > Wie kann ich zur Kompilierungszeit prüfen, ob der C 11-Compiler unterstützt wird?

Wie kann ich zur Kompilierungszeit prüfen, ob der C 11-Compiler unterstützt wird?

Susan Sarandon
Freigeben: 2024-12-06 12:19:12
Original
446 Leute haben es durchsucht

How Can I Check for C  11 Compiler Support at Compile Time?

Erkennen der C 11-Unterstützung während der Kompilierung

Frage:

Wie können Sie zur Kompilierungszeit feststellen, ob Ihr Compiler unterstützt? Besonderheiten des C 11 Standard?

Antwort:

Eine zuverlässige Methode ist die Verwendung der __cplusplus-Konstante, die C-Compiler so einstellen sollten, dass sie die Version des von ihnen unterstützten Standards widerspiegelt. Zum Beispiel:

#if __cplusplus <= 199711L
  #error This library needs at least a C++11 compliant compiler
#endif
Nach dem Login kopieren

Dieser Code generiert einen Fehler, wenn die C-Version des Compilers kleiner oder gleich 199711L ist, was darauf hinweist, dass C 11-Unterstützung nicht verfügbar ist.

Allerdings einige Anbieter Möglicherweise wird __cplusplus nicht sofort nach der Implementierung der teilweisen C 11-Unterstützung aktualisiert. In solchen Fällen wird die Verwendung der Boost-Definitionen weiterhin zur detaillierten Erkennung spezifischer C 11-Funktionen empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann ich zur Kompilierungszeit prüfen, ob der C 11-Compiler unterstützt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage