Freigeben über


/Za, /Ze (Spracherweiterungen deaktivieren)

Die /Za-Compileroption deaktiviert und gibt Fehler für Microsoft-Erweiterungen an C aus, die nicht mit ANSI C89/ISO C90 kompatibel sind. Die veraltete /Ze-Compileroption aktiviert Microsoft-Erweiterungen. Standardmäßig sind Microsoft-Erweiterungen aktiviert.

Syntax

/Za
/Ze

Hinweise

Hinweis

Die Verwendung von /Za , wenn Code kompiliert wird, da C++ nicht empfohlen wird. Die Option "/Ze " ist veraltet, da das Verhalten standardmäßig aktiviert ist. Eine Liste der veralteten Compileroptionen finden Sie unter veraltete und entfernte Compileroptionen.

Der Microsoft C/C++-Compiler unterstützt die Kompilierung von C-Code auf zwei Arten:

  • Der Compiler verwendet standardmäßig den C-Kompilierungsmodus, wenn eine Quelldatei eine ERWEITERUNG C aufweist oder wenn die Option "/Tc " oder "/TC " angegeben ist. Der C-Compiler ist ein C89/C90-Compiler, der standardmäßig Microsoft-Erweiterungen für die Sprache C aktiviert. Weitere Informationen zu bestimmten Erweiterungen finden Sie unter Microsoft-Erweiterungen für C und C++. Wenn sowohl die C-Kompilierung als auch die Option "/Za " angegeben werden, entspricht der C-Compiler streng dem C89/C90-Standard. Der Compiler behandelt erweiterte Microsoft-Schlüsselwörter als einfache Bezeichner, deaktiviert die anderen Microsoft-Erweiterungen und definiert automatisch das __STDC__ vordefinierten Makros für C-Programme.

  • Der Compiler kann C-Code im C++-Kompilierungsmodus kompilieren. Dieses Verhalten ist die Standardeinstellung für Quelldateien, die keine ERWEITERUNG C aufweisen, und wenn die Option "/Tp" oder "/TP" angegeben ist. Im C++-Kompilierungsmodus unterstützt der Compiler die Teile der ISO C99- und C11-Standards, die in den C++-Standard integriert wurden. Fast jeder C-Code ist auch gültiger C++-Code. Eine kleine Anzahl von C-Schlüsselwörtern und Codekonstrukten ist kein gültiger C++-Code oder wird in C++ anders interpretiert. Der Compiler verhält sich in diesen Fällen entsprechend dem C++-Standard. Im C++-Kompilierungsmodus kann die Option "/Za " zu unerwartetem Verhalten führen und wird nicht empfohlen.

Andere Compileroptionen können sich darauf auswirken, wie der Compiler die Standardskonformität gewährleistet. Möglichkeiten zum Angeben bestimmter C- und C++-Standardverhaltenseinstellungen finden Sie in der Option "/Zc compiler". Weitere C++-Standardkonformitätseinstellungen finden Sie in den Optionen "/permissive- und /std compiler".

Weitere Informationen zu Konformitätsproblemen mit Visual C++ finden Sie unter "Nicht standardmäßiges Verhalten".

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Navigieren Sie zur Eigenschaftenseite Konfigurationseigenschaften>C/C++>Sprache.

  3. Ändern Sie die Eigenschaft "Spracherweiterungen deaktivieren".

So legen Sie diese Compileroption programmgesteuert fest

Siehe DisableLanguageExtensions.

Siehe auch

Compileroptionen
/Zc (Übereinstimmung)
/permissive- (Übereinstimmung mit Standards)
/std (Standardversion für die Sprache festlegen)