이전 버전에서 본 적이 있지만 Visual Studio 2013 Preview를 사용하고 있습니다. 마법사를 사용하여 새 프로젝트를 만들 때 C ++, Win32 콘솔 응용 프로그램을 선택하고 프로젝트에서 보안 개발 수명주기 검사를 활성화하는 옵션이 있습니다. 누군가이 옵션이 내 코드 / 프로젝트에 대해 정확히 무엇을 설명 할 수 있습니까?
답변:
여기에서 /sdl
스위치에 대해 설명 합니다 . 일부 경고를 오류로 전환하여 코드에 영향을주지 않습니다. 또한 /GS
수표를보다 적극적으로 적용합니다 .
너무 많은 것을 기대하지 마십시오. Microsoft SDL은 실제로 1980 년대 스타일 C 프로그래밍의 해결 방법입니다. 20 세기 C ++를 사용하더라도 필요하지 않습니다. 예를 들어 operator+(std::string, std::string)
안전하고 휴대 가능합니다. 대조적으로 마이크로 소프트의 SDL 솔루션은 이식성이없고 안전하지도 않습니다. 배후의 아이디어 /GS
는 런타임에 C 문자열 처리로 오류를 찾고 프로그램을 중단하여 결과를 제한하지만 안전하지 않게 만드는 것입니다.
Microsoft 보안 개발 수명주기는 소프트웨어 유지 관리 비용을 줄이고 소프트웨어 보안 관련 버그와 관련된 소프트웨어의 안정성을 높이기 위해 Microsoft에서 사용하고 제안한 소프트웨어 개발 프로세스입니다.
도움이 될 수 있습니다.
http://msdn.microsoft.com/en-us/library/windows/desktop/84aed186-1d75-4366-8e61-8d258746bopq.aspx