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 中删除”