在 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
、/W0
、、、 /W1
/wo
/Wall
/wd
/w4
/we
/Wv
/W2
/W4
/WX
/W3
/w1
/w2
/w3
(警告级别)。