2013-04-26 141 views
2

根據Security Enhancements in the CRTSecure Template Overloads,可以使用_CRT_SECURE_NO_WARNINGS禁用與由於安全問題而不推薦使用的功能相關的警告。也可以使用_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES替換其中一些功能。但是,是否有人知道兩者是否可以同時使用。也就是說,如果我首先指定_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES,然後指定_CRT_SECURE_NO_WARNINGS,那麼這些可替換的功能是否會被替換,其餘情況下的警告是否會被取消。我不知道如何測試這個,因爲如果我同時添加,所有的警告都會被有效地抑制,但是我不知道它是否僅僅是由於第二個標誌。CRT棄用警告

+1

您可以使用智能感知(進入函數的定義)或調試器(逐步進入函數)來檢查。 – 2013-04-26 11:12:17

回答

2

是的,你可以同時使用,他們正在做你所期望的。

你可以看看crtdefs.h頭文件。如果您定義了_CRT_SECURE_NO_WARNINGS,則它不會生成警告來代替_CRT_INSECURE_DEPRECATE引用。

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