글
Visual Studio 2017 이전 버전을 이용해 C 언어 개발을 하고, 빌드 및 실행 (Ctrl + F5) 을 해보면, 다음과 같은 에러 메시지를 종종 보게 됩니다.
error C4996: ‘localtime’: This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
이 에러 메시지는, scanf 나 strcpy, localtime 과 같은 보안적으로 안전하지 못한 함수들을 호출할 때 나타납니다.
(CRT 의 보안 기능 설명 참고)
https://msdn.microsoft.com/ko-kr/library/8ef0s5kh.aspx
이 에러 메시지를 해결 하는 방법은 2 가지 방법이 있습니다.
-> 불안전한 함수 대신 MS 에서 권장하는 안전한 함수를 사용
(strcpy -> strcpy_s, scanf -> scanf_s, localtime -> localtime_s)
-> _CRT_SECURE_NO_WARNINGS 매크로 정의 후 불안전한 함수를 사용하도록 허락
첫 번째로 개발하는 것이 권장되지만, 간단히 개발하고자 하는 분들은 두 번째 방법을 선호할 것입니다. 따라서, 2) 번의 방법으로 매크로를 정의하여 기존처럼 불안전한 함수들을 사용할 수 있는 방법을 알려드리겠습니다.
좌측의 Solution Explorer 에서, 현재 프로젝트를 우 클릭하여, Properties 를 클릭합니다.
나타난 팝업에서, Configuration Properties -> C/C++ -> Preprocessor 를 클릭합니다.
Preprocessor Definitions 항목에서 가장 우측에 ;_CRT_SECURE_NO_WARNINGS 를 추가하고, 확인을 클릭합니다.
참고로, Debug 모드와 Release 모드 각각 이 작업을 해주어야 합니다. (Release 모드를 사용하는 분에 한해서)
'8.2) IDE > VISUAL STUDIO' 카테고리의 다른 글
Visual Studio 단축키 모음 (0) | 2017.10.18 |
---|---|
Visual Studio 2017 Community 버전 설치하기 (0) | 2017.10.18 |
RECENT COMMENT