/Za, /Ze (Disabilita estensioni linguaggio)

L'opzione del compilatore /Za disabilita e genera errori per le estensioni Microsoft in C non compatibili con ANSI C89/ISO C90. L'opzione del compilatore /Ze deprecata abilita le estensioni Microsoft. Le estensioni Microsoft sono attivate per impostazione predefinita.

Sintassi

/Za
/Ze

Osservazioni:

Nota

L'uso di /Za quando il codice viene compilato come C++ non è consigliato. L'opzione /Ze è deprecata perché il comportamento è attivato per impostazione predefinita. Per un elenco delle opzioni del compilatore deprecate, vedere Opzioni del compilatore deprecate e rimosse.

Il compilatore Microsoft C/C++ supporta la compilazione del codice C in due modi:

  • Il compilatore usa la modalità di compilazione C per impostazione predefinita quando un file di origine ha un'estensione c o quando viene specificata l'opzione /Tc o /TC. Il compilatore C è un compilatore C89/C90 che, per impostazione predefinita, abilita le estensioni Microsoft al linguaggio C. Per altre informazioni sulle estensioni specifiche, vedere Estensioni Microsoft per C e C++. Quando vengono specificati sia la compilazione C che l'opzione /Za , il compilatore C è conforme rigorosamente allo standard C89/C90. Il compilatore considera le parole chiave estese Microsoft come identificatori semplici, disabilita le altre estensioni Microsoft e definisce automaticamente la macro predefinita __STDC__ per i programmi C.

  • Il compilatore può compilare codice C in modalità di compilazione C++. Questo comportamento è l'impostazione predefinita per i file di origine che non hanno un'estensione c e quando viene specificata l'opzione /Tp o /TP. In modalità di compilazione C++ il compilatore supporta le parti degli standard ISO C99 e C11 incorporati nello standard C++. Quasi tutto il codice C è anche codice C++ valido. Un numero ridotto di parole chiave C e costrutti di codice non sono codice C++ valido o vengono interpretati in modo diverso in C++. Il compilatore si comporta in base allo standard C++ in questi casi. In modalità di compilazione C++ l'opzione /Za può causare un comportamento imprevisto e non è consigliato.

Altre opzioni del compilatore possono influire sul modo in cui il compilatore garantisce la conformità agli standard. Per informazioni su come specificare impostazioni specifiche del comportamento C e C++, vedere l'opzione del compilatore /Zc . Per altre impostazioni di conformità standard C++, vedere le opzioni del compilatore /permissive- e /std .

Per altre informazioni sui problemi di conformità con Visual C++, vedere Comportamento non standard.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà>di configurazione C/C++>Language.

  3. Modificare la proprietà Disabilita estensioni del linguaggio.

Per impostare l'opzione del compilatore a livello di codice

Vedere DisableLanguageExtensions.

Vedi anche

Opzioni del compilatore
/Zc (conformità)
/permissive/ (conformità agli standard)
/std (specifica la versione standard del linguaggio)