Udostępnij za pośrednictwem


/Za, /Ze (Wyłącz rozszerzenia językowe)

Opcja /Za kompilatora wyłącza i emituje błędy dla rozszerzeń firmy Microsoft dla języka C, które nie są zgodne z ANSI C89/ISO C90. Opcja przestarzałego kompilatora /Ze włącza rozszerzenia firmy Microsoft. Rozszerzenia firmy Microsoft są domyślnie włączone.

Składnia

/Za
/Ze

Uwagi

Uwaga

Użycie /Za , gdy kod jest kompilowany jako C++ nie jest zalecany. Opcja /Ze jest przestarzała, ponieważ jego zachowanie jest domyślnie włączone. Aby uzyskać listę przestarzałych opcji kompilatora, zobacz Przestarzałe i usunięte opcje kompilatora.

Kompilator języka Microsoft C/C++ obsługuje kompilację kodu C na dwa sposoby:

  • Kompilator domyślnie używa trybu kompilacji C, gdy plik źródłowy ma rozszerzenie .c lub gdy jest określona opcja /Tc lub /TC . Kompilator języka C jest kompilatorem C89/C90, który domyślnie włącza rozszerzenia firmy Microsoft w języku C. Aby uzyskać więcej informacji na temat określonych rozszerzeń, zobacz Rozszerzenia firmy Microsoft do języków C i C++. Po określeniu zarówno kompilacji C, jak i /Za kompilator języka C jest ściśle zgodny ze standardem C89/C90. Kompilator traktuje rozszerzone słowa kluczowe firmy Microsoft jako proste identyfikatory, wyłącza inne rozszerzenia firmy Microsoft i automatycznie definiuje __STDC__ wstępnie zdefiniowane makro dla programów języka C.

  • Kompilator może skompilować kod C w trybie kompilacji języka C++. To zachowanie jest ustawieniem domyślnym dla plików źródłowych, które nie mają rozszerzenia .c , a po określeniu opcji /Tp lub /TP . W trybie kompilacji języka C++ kompilator obsługuje te części standardów ISO C99 i C11, które zostały włączone do standardu C++. Prawie cały kod języka C jest również prawidłowym kodem C++. Niewielka liczba słów kluczowych i konstrukcji kodu języka C nie jest prawidłowa lub jest interpretowana inaczej w języku C++. Kompilator zachowuje się zgodnie ze standardem C++ w tych przypadkach. W trybie kompilacji języka C++ opcja /Za może powodować nieoczekiwane zachowanie i nie jest zalecana.

Inne opcje kompilatora mogą mieć wpływ na sposób zapewniania zgodności ze standardami przez kompilator. Aby uzyskać informacje o sposobach określania określonych standardowych ustawień zachowania języka C i C++, zobacz /Zc kompilator opcji. Aby uzyskać dodatkowe ustawienia zgodności standardowej języka C++, zobacz opcje /permissive- i /std kompilatora .

Aby uzyskać więcej informacji na temat problemów ze zgodnością z językiem Visual C++, zobacz Zachowanie niezgodne.

Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Language.

  3. Zmodyfikuj właściwość Wyłącz rozszerzenia języka.

Aby programowo ustawić tę opcję kompilatora

Zobacz: DisableLanguageExtensions.

Zobacz też

Opcje kompilatora
/Zc (Zgodność)
/permissive- (Zgodność ze standardami)
/std (Określ wersję standardu języka)