CRT 弃用警告

Posted

技术标签:

【中文标题】CRT 弃用警告【英文标题】:CRT deprecation warnings 【发布时间】:2013-04-26 10:32:04 【问题描述】:

根据Security Enhancements in the CRT 和Secure Template Overloads,可以使用_CRT_SECURE_NO_WARNINGS 禁用与因安全问题而弃用的功能相关的警告。也可以使用 _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 将一些功能替换为更安全的对应功能。但是,有人知道两者是否可以同时使用。也就是说,如果我先指定 _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 然后指定 _CRT_SECURE_NO_WARNINGS,那些可以替换的函数是否会被替换,而对于其余情况,警告会被抑制。我不确定如何测试它,因为如果我同时添加两者,所有警告都会被有效地抑制,但我不知道这是否只是由于第二个标志。

【问题讨论】:

您可以使用 IntelliSense(进入函数的定义)或调试器(进入函数)进行检查。 【参考方案1】:

是的,您可以同时使用这两种方法,而且它们的效果完全符合您的预期。

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

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

【讨论】:

以上是关于CRT 弃用警告的主要内容,如果未能解决你的问题,请参考以下文章

弃用警告:collection.findAndModify 已弃用。改用 findOneAndUpdate、findOneAndReplace 或 findOneAndDelete?

如何解决弃用警告“方法 to_hash 已弃用并将在 Rails 5.1 中删除”

sklearn 的弃用警告

弃用警告:executable_path 已被弃用 selenium python

MongoDB 弃用警告

警告 onRowClick 已弃用