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