CRT弃用警告

CRT deprecation warnings

本文关键字:警告 CRT      更新时间:2023-10-16

根据CRT和安全模板重载中的安全增强功能,可以使用_CRT_Secure_NO_warnings禁用与因安全问题而弃用的功能相关的警告。也可以使用_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES将某些函数替换为更安全的对应函数。但是,有人知道两者是否可以同时使用吗。也就是说,如果我首先指定_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES,然后指定_CRT_SECURE_NO_WARNINGS,那么那些可以替换的函数会被替换吗?对于剩余的情况,警告会被抑制吗。我不知道如何测试这一点,因为如果我同时添加这两个,所有警告都将被有效地抑制,但我不知道这是否只是由于第二个标志。

是的,您可以同时使用这两种方法,而且它们的作用正是您所期望的。

您可以查看crtdefs.h头文件。如果您定义了_CRT_SECURE_NO_WARNINGS,它就不会生成警告来代替_CRT_INSECURE_DEPRECATE引用。

_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES控制其他宏,如__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_ ...等。