2

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

4

1 回答 1

2

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

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

_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES控制其他宏,类似和__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_ ...类似。

于 2013-04-26T11:39:58.483 回答