分享方式:


_SCL_SECURE_NO_WARNINGS

在 C++ 標準程式庫中呼叫任何可能不安全的方法會導致 編譯器警告 (層級 3) C4996 。 若要停用此警告,請在程式碼中定義 _SCL_SECURE_NO_WARNINGS 巨集:

#define _SCL_SECURE_NO_WARNINGS

如果您使用先行編譯標頭,請先將此指示詞放在先行編譯標頭檔中,再包含任何 C 執行時間程式庫或標準程式庫標頭。 如果您在包含先行編譯標頭檔之前將它放在個別原始程式碼檔案中,編譯器就會忽略它。

備註

停用警告 C4996 的其他方式包括:

  • 使用 /D (前置處理器定義) 編譯器選項:

    cl /D_SCL_SECURE_NO_WARNINGS [其他編譯器選項] myfile.cpp

  • 使用 /w 編譯器選項:

    cl /wd4996 [其他編譯器選項] myfile.cpp

  • 使用 #pragma warning 指示詞:

    #pragma warning(disable:4996)
    

此外,您也可以使用 /w < l >< n > 編譯器選項,手動變更警告 C4996 的層級。 例如,若要將 C4996 警告設為層級 4:

cl /w44996 [其他編譯器選項] myfile.cpp

如需詳細資訊,請參閱 /w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告層級)

另請參閱

安全程式庫:C++ 標準程式庫