什么是Visual Studio中的安全性开发生命周期检查选项?

我正在使用Visual Studio 2013 Preview,但我确定我已经在早期版本中看到过它。 使用向导创build新项目时,我selectC ++,Win32控制台应用程序,并且有一个选项可以在我的项目上启用安全开发生命周期检查。 有人可以解释到底这个选项对我的代码/项目有什么作用吗?

/sdl开关在这里描述。 它将一些警告转化为错误,这不会影响您的代码。 此外,它更积极地应用/GS检查。

不要期望太多。 微软的SDL确实是20世纪80年代风格的C编程的一个解决方法。 即使你使用20世纪的C ++,你也不需要它。 例如operator+(std::string, std::string)既安全又便于携带。 相比之下,微软的SDL解决scheme不是可移植的,也不是安全的 – /GS的理念是在运行时发现Cstring处理错误,并中止程序,限制后果但不保证安全。

Microsoft安全开发生命周期是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