Что такое проверка жизненного цикла разработки безопасности в Visual Studio?

Я использую Visual Studio 2013 Preview, хотя я уверен, что видел его в более ранних версиях. При создании нового проекта с помощью мастера я выбираю C ++, консольное приложение Win32, и в моем проекте есть возможность включить проверки жизненного цикла разработки безопасности. Может ли кто-нибудь объяснить, что именно эта опция делает с моим кодом / проектом?

75

Решение

/sdl переключатель описан Вот. Превращает некоторые предупреждения в ошибки, которые не влияют на ваш код. Кроме того, он применяет /GS проверь более агрессивно.

Не ожидай от этого слишком многого. Microsoft SDL — это действительно обходной путь для программирования в стиле C. Даже если вы используете C ++ 20-го века, вам это не нужно. Например. operator+(std::string, std::string) является одновременно безопасным и портативным. Решение SDL от Microsoft, напротив, не переносимо и не безопасно — идея /GS это найти ошибки с обработкой строки C во время выполнения и прервать программу, ограничивая последствия, но не делая ее безопасной.

69

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

Microsoft Security Development Lifecycle — это процесс разработки программного обеспечения, используемый и предлагаемый Microsoft для снижения затрат на обслуживание программного обеспечения и повышения надежности программного обеспечения в отношении ошибок, связанных с безопасностью программного обеспечения.

Это может быть полезно:

http://download.microsoft.com/download/B/5/A/B5A89F4C-D591-4AAB-BF45-D818D80527B6/SDLServices2011.pdf

http://msdn.microsoft.com/en-us/library/windows/desktop/84aed186-1d75-4366-8e61-8d258746bopq.aspx

2

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