_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(警告级别)。