/w、/Wn、/WX、/Wall、/wln、/wdn、/wen、/won (警告層級)
更新:2007 年 11 月
指定編譯器如何對指定的編譯產生警告。
/w
/Wn
/WX
/Wall
/wln
/wdn
/wen
/won
備註
下表中描述可用的選項和相關引數。
選項 |
描述 |
---|---|
/w |
停用所有編譯器警告。 |
/Wn |
指定編譯器產生的最高警告層級。n 範圍的有效警告層級是從 0 到 4:
對於新專案,最好在所有編譯中都使用 /W4。這樣可以確保將不易發現的程式碼缺點降低到最少程度。 |
/Wall |
啟用所有警告,包括預設停用者。請參閱預設為關閉的編譯器警告。 |
/WX |
將所有編譯器警告視為錯誤。對於新專案,最好在所有編譯中都使用 /WX;解除所有警告可以確保將不易發現的程式碼缺點降低到最少程度。 連結器也有 /WX 選項,如需詳細資訊,請參閱 /WX (將連結器警告視為錯誤)。 |
/wln |
指定特定警告的層級。第一個參數是設定警告層級 (與 /Wn 相同) 而第二個參數則是實際的警告編號。 例如,/w14326 會使 C4326 成為層級 1 警告。 |
/wdn |
停用指定的編譯器警告,其中 n是編譯器警告編號。 例如,/wd4326 會停用編譯器警告 C4326。 |
/wen |
將特定的編譯器警告視為錯誤,其中 n 為編譯器警告。 例如,/we4326 會將警告號碼 C4326 標記為錯誤。 |
/won |
只報告一次錯誤,其中 n 是編譯器警告。 例如,/wo4326 會使警告 C4326 只被報告一次。 |
如果您以 /w 的其中一個選項建立先行編譯標頭 (/Yc (建立先行編譯標頭檔)),則只要使用此先行編譯標頭 (/Yu (使用先行編譯標頭檔)) 都會讓同樣的 /w 選項再作用一次。您可以在命令列以另一個 /w 選項覆寫先行編譯標頭中的 /w 設定。
在原始程式碼中的 Pragma 指示詞不會受 /w 選項的影響。
您也可以使用 warning,控制在編譯時期報告的警告層級。
C/C++ 建置錯誤會描述各項警告、指出每個警告的層級,並且指出陳述式中可能不會如您預期進行編譯的潛在問題 (而非實際編碼方式的錯誤)。
若要在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁。
按一下 [C/C++] 資料夾。
按一下 [一般] 屬性頁,並且修改 [警告層級] 或 [警告視為錯誤] 屬性。
按一下 [進階] 屬性頁並且修改 [停用特定警告] 屬性。
對於其餘的選項,按一下 [命令列] 屬性頁,並且在 [其他選項] 方塊中輸入編譯器選項。