Я использую Предварительный просмотр Visual Studio 2013, хотя я уверен, что видел его в более ранних версиях. При создании нового проекта с помощью мастера я выбираю С++, Win32 Console Application, и есть возможность включить проверки жизненного цикла безопасности в моем проекте. Может ли кто-нибудь объяснить, что этот вариант делает для моего кода/проекта?
Что такое проверка жизненного цикла разработки безопасности в Visual Studio?
Ответ 1
Переключатель /sdl
описан здесь. Он превращает некоторые предупреждения в ошибки, которые не влияют на ваш код. Кроме того, он применяет проверку /GS
более агрессивно.
Не ожидайте от него слишком многого. Microsoft SDL действительно является обходным способом для программирования в стиле 1980 года. Даже если вы используете 20-й век С++, вам это не нужно. Например. operator+(std::string, std::string)
безопасен и переносим. Решение Microsoft SDL здесь, напротив, не переносимо и не является безопасным - идея /GS
заключается в том, чтобы найти ошибки с обработкой строки C во время выполнения и прервать программу, ограничивая последствия, но не делая их безопасными.
Ответ 2
Жизненный цикл Microsoft Security Development Lifecycle - это процесс разработки программного обеспечения, который Microsoft предлагает и предлагает Microsoft для снижения затрат на обслуживание программного обеспечения и повышения надежности программного обеспечения в отношении ошибок, связанных с обеспечением безопасности программного обеспечения.
Это может быть полезно:
http://msdn.microsoft.com/en-us/library/windows/desktop/84aed186-1d75-4366-8e61-8d258746bopq.aspx