/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Poziom ostrzeżeń)

Określa sposób generowania ostrzeżeń przez kompilator dla danej kompilacji.

Składnia

/W
/W0
/W1
/W2
/W3
/W4
/Ściany
/Wv[:version]
/WX
/w1ostrzeżenie
/w2ostrzeżenie
/w3ostrzeżenie
/w4ostrzeżenie
/wdostrzeżenie
/ostrzegamy
/woostrzeżenie

Uwagi

Opcje ostrzeżenia określają, które ostrzeżenia kompilatora mają być wyświetlane, oraz zachowanie ostrzeżenia dla całej kompilacji.

Opcje ostrzeżenia i powiązane argumenty są opisane w następujących tabelach:

Opcja Opis
/W Pomija wszystkie ostrzeżenia kompilatora.
/W0

/W1

/W2

/W3

/W4
Określa poziom ostrzeżeń, które mają być generowane przez kompilator. Prawidłowy zakres poziomów ostrzeżeń od 0 do 4:
/W0 pomija wszystkie ostrzeżenia. Jest to odpowiednik /w.
/W1 wyświetla ostrzeżenia poziomu 1 (poważne). /W1 jest ustawieniem domyślnym w kompilatorze wiersza polecenia.
/W2 wyświetla ostrzeżenia poziomu 1 i poziomu 2 (znaczące).
/W3 wyświetla ostrzeżenia poziomu 1, poziom 2 i poziom 3 (jakość produkcji). /W3 jest ustawieniem domyślnym w środowisku IDE.
/W4 wyświetla poziom 1, poziom 2 i poziom 3 ostrzeżenia oraz wszystkie ostrzeżenia poziomu 4 (informacyjne), które nie są domyślnie wyłączone. Zalecamy użycie tej opcji w celu zapewnienia ostrzeżeń przypominających lint. W przypadku nowego projektu najlepszym rozwiązaniem może być użycie /W4 we wszystkich kompilacjach. Ta opcja pomaga zapewnić najmniejsze możliwe trudne do znalezienia wady kodu.
/Ściany Wyświetla wszystkie ostrzeżenia wyświetlane przez /W4 i wszystkie inne ostrzeżenia, które /W4 nie zawierają — na przykład ostrzeżenia, które są domyślnie wyłączone. Aby uzyskać więcej informacji, zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone.
/Wv[:version] Wyświetla tylko ostrzeżenia wprowadzone w wersji kompilatora wersji i starsze. Tej opcji można użyć do pomijania nowych ostrzeżeń w kodzie podczas migracji do nowszej wersji kompilatora. Umożliwia utrzymanie istniejącego procesu kompilacji podczas ich naprawiania. Opcjonalna wersja parametru ma postać nn[.mm[.bbbbb]], gdzie nn jest numerem wersji głównej, mm jest opcjonalnym numerem wersji pomocniczej, a bbbbb jest opcjonalnym numerem kompilacji kompilatora. Na przykład użyj / Wv:17 , aby wyświetlić tylko ostrzeżenia wprowadzone w programie Visual Studio 2012 (wersja główna 17) lub starszym. Oznacza to, że wyświetla ostrzeżenia z dowolnej wersji kompilatora, która ma numer wersji głównej 17 lub mniej. Pomija ostrzeżenia wprowadzone w programie Visual Studio 2013 (wersja główna 18) i nowszych wersjach. Domyślnie /Wv używa bieżącego numeru wersji kompilatora i nie są pomijane żadne ostrzeżenia. Aby uzyskać informacje o tym, które ostrzeżenia są pomijane przez wersję kompilatora, zobacz Ostrzeżenia kompilatora według wersji kompilatora.
/WX Traktuje wszystkie ostrzeżenia kompilatora jako błędy. W przypadku nowego projektu najlepszym rozwiązaniem może być użycie /WX we wszystkich kompilacjach. Rozpoznawanie wszystkich ostrzeżeń gwarantuje, że najmniejsze możliwe błędy kodu są trudne do znalezienia.

Konsolidator ma również /WX opcję. Aby uzyskać więcej informacji, zobacz /WX (Traktuj ostrzeżenia konsolidatora jako błędy).

Poniższe opcje wzajemnie się wykluczają. Ostatnia opcja określona z tej grupy jest stosowana:

Opcja Opis
/w1nnnn

/w2nnnn

/w3nnnn

/w4nnnn
Ustawia poziom ostrzeżenia dla numeru ostrzeżenia określonego przez nnnn. Te opcje umożliwiają zmianę zachowania kompilatora dla tego ostrzeżenia po ustawieniu określonego poziomu ostrzeżenia. Te opcje można używać w połączeniu z innymi opcjami ostrzegawczymi, aby wymusić własne standardy kodowania dla ostrzeżeń, a nie domyślnych udostępnianych przez program Visual Studio.

Na przykład /w34326 powoduje wygenerowanie C4326 jako ostrzeżenie poziomu 3 zamiast poziomu 1. Jeśli kompilujesz przy użyciu opcji /w34326 i /W2 opcji, ostrzeżenie C4326 nie zostanie wygenerowane.
/wdnnnn Pomija ostrzeżenie kompilatora określone przez nnnn.

Na przykład /wd4326 pomija ostrzeżenie kompilatora C4326.
/wennnn Traktuje ostrzeżenie kompilatora określone przez nnnn jako błąd.

Na przykład /we4326 powoduje, że numer ostrzeżenia C4326 jest traktowany jako błąd kompilatora.
/wonnnn Zgłasza ostrzeżenie kompilatora określone przez nnnn tylko raz.

Na przykład /wo4326 powoduje, że ostrzeżenie C4326 jest zgłaszane tylko raz, po raz pierwszy napotkany przez kompilator.

Jeśli podczas tworzenia prekompilowanego nagłówka są używane jakiekolwiek opcje ostrzeżenia, zachowa te ustawienia. Użycie prekompilowanego nagłówka powoduje ponowne zastosowanie tych samych opcji ostrzeżenia. Aby zastąpić wstępnie skompilowane opcje ostrzeżenia nagłówka, ustaw inną opcję ostrzeżenia w wierszu polecenia.

Za pomocą dyrektywy ostrzegawczej #pragma można kontrolować poziom ostrzeżenia zgłaszanego w czasie kompilacji w określonych plikach źródłowych.

Dyrektywy pragma ostrzeżenia w kodzie źródłowym nie mają wpływu na /w opcji.

W dokumentacji błędów kompilacji opisano ostrzeżenia i poziomy ostrzeżeń oraz wskazuje, dlaczego niektóre instrukcje mogą nie być kompilowane zgodnie z oczekiwaniami.

Aby ustawić opcje kompilatora w środowisku projektowym programu 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. Aby ustawić /W0, /W1, /W2, /W3, /W4, /Wall, /Wv, /WX lub /WX- opcje, wybierz pozycję Właściwości>konfiguracji C/C++>General.

    • Aby ustawić /W0, /W1, /W2, /W3, /W4 lub /Wall opcje, zmodyfikuj właściwość Poziom ostrzeżenia.

    • Aby ustawić /WX lub /WX- opcje, zmodyfikuj właściwość Traktuj ostrzeżenia jako Błędy.

    • Aby ustawić wersję opcji /Wv , wprowadź numer wersji kompilatora we właściwości Wersja ostrzegawcza.

  3. Aby ustawić /wd lub /we opcje, wybierz stronę właściwości>Konfiguracji C/C++>Advanced.

    • Aby ustawić /wd opcji, wybierz kontrolkę listy rozwijanej Wyłącz określone ostrzeżenia, a następnie wybierz pozycję Edytuj. W polu edycji w oknie dialogowym Wyłącz określone ostrzeżenia wprowadź numer ostrzeżenia. Aby wprowadzić więcej niż jedno ostrzeżenie, należy oddzielić wartości średnikami (;). Aby na przykład wyłączyć zarówno C4001, jak i C4010, wprowadź wartość 4001; 4010. Wybierz przycisk OK , aby zapisać zmiany i wrócić do okna dialogowego Strony właściwości.

    • Aby ustawić /we opcji, wybierz kontrolkę listy rozwijanej Traktuj określone ostrzeżenia jako błędy, a następnie wybierz pozycję Edytuj. W polu edycji w oknie dialogowym Traktuj określone ostrzeżenia jako błędy wprowadź numer ostrzeżenia. Aby wprowadzić więcej niż jedno ostrzeżenie, należy oddzielić wartości średnikami (;). Na przykład aby traktować zarówno C4001, jak i C4010 jako błędy, wprowadź wartość 4001; 4010. Wybierz przycisk OK , aby zapisać zmiany i wrócić do okna dialogowego Strony właściwości.

  4. Aby ustawić /wo opcji, wybierz stronę właściwości Konfiguracji>C/C++>Wiersza polecenia. Wprowadź opcję kompilatora w polu Dodatkowe opcje .

  5. Wybierz przycisk OK , aby zapisać zmiany.

Aby programowo ustawić opcję kompilatora

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC