Heim >Backend-Entwicklung >C++ >Warum zeigt das __cplusplus-Makro von Visual Studio 2012 trotz C 11-Unterstützung immer noch C 98-Kompatibilität an?

Warum zeigt das __cplusplus-Makro von Visual Studio 2012 trotz C 11-Unterstützung immer noch C 98-Kompatibilität an?

DDD
DDDOriginal
2024-11-05 04:36:02654Durchsuche

Why Does Visual Studio 2012's __cplusplus Macro Still Indicate C  98 Compatibility Despite C  11 Support?

Visual Studio 2012 __cplusplus und seine Diskrepanz mit der C 11-Unterstützung

Trotz der angekündigten Unterstützung von Visual Studio 2012 für C 11 wurde eine Inkonsistenz festgestellt bezüglich des __cplusplus-Makros. Anstatt den erwarteten Wert von 201103L wiederzugeben, wird er in C-Projekten weiterhin als 199711L definiert.

Mögliche Erklärung

Das __cplusplus-Makro ist ein vordefiniertes Makro, das Folgendes bereitstellt Versionsnummer des vom Compiler verwendeten C-Standards. In diesem speziellen Fall entspricht der Wert von 199711L dem „alten“ C-Standard, der vor C 11 existierte.

Auswirkungen auf C 11-Header

Auch wenn C 11 Wenn Header im Projekt enthalten sind, bleibt __cplusplus fälschlicherweise als 199711L definiert. Diese Inkonsistenz kann zu potenziellen Kompatibilitätsproblemen zwischen dem Code und dem C 11-Standard führen.

Bekannter Fehler

Das Problem wurde von Microsoft bestätigt und ein Fehlerbericht erstellt wurde abgelegt (Ein Wert des vordefinierten Makros __cplusplus ist immer noch 199711L). Daher wird erwartet, dass das Problem in einem zukünftigen Update behoben wird.

Das obige ist der detaillierte Inhalt vonWarum zeigt das __cplusplus-Makro von Visual Studio 2012 trotz C 11-Unterstützung immer noch C 98-Kompatibilität an?. 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