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


_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 [other compiler options] myfile.cpp
    
  • Использование параметра компилятора /w :

    cl /wd4996 [other compiler options] myfile.cpp
    
  • Использование директивы #pragma warning :

    #pragma warning(disable:4996)
    

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

cl /w44996 myfile.cpp

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

См. также

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