Поделиться через


_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:

    #pragma warning(disable:4996)
    

Кроме того, можно вручную изменить уровень предупреждения C4996 с параметром компилятора /w<l><n> . Например, чтобы задать для предупреждения C4996 уровень 4:

cl /w44996 [другие параметры компилятора] myfile.cpp

Дополнительные сведения см. в разделах /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (уровень предупреждений).

См. также

Безопасные библиотеки: стандартная библиотека C++