CRT предупреждения об устаревании

В соответствии с Улучшения безопасности в CRT а также Безопасные перегрузки шаблона, с помощью _CRT_SECURE_NO_WARNINGS можно отключить предупреждения, связанные с устаревшими функциями из-за проблем безопасности. Также можно заменить некоторые функции на более безопасные, используя _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES. Однако кто-нибудь знает, можно ли использовать оба одновременно. То есть, если я сначала укажу _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES, а затем _CRT_SECURE_NO_WARNINGS, будут ли заменены те функции, которые можно заменить, а в остальных случаях предупреждения будут подавлены. Я не уверен, как это проверить, потому что, если я добавлю оба, все предупреждения будут эффективно подавлены, но я не знаю, связано ли это только со вторым флагом.

2

Решение

Да, вы можете использовать оба, и они делают именно то, что вы ожидали.

Вы можете взглянуть на crtdefs.h заголовочный файл Если вы определите _CRT_SECURE_NO_WARNINGS он просто не генерирует предупреждение вместо _CRT_INSECURE_DEPRECATE Рекомендации.

_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES контролирует другие макросы, такие как __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_ ... и так.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]