일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 티스토리
- Javascript
- Tips강좌
- 함수
- c++
- Tips프로그래밍강좌
- CS
- 프로그래밍
- Visual Studio
- c#
- 백준
- Desktop
- 포인터
- Direct2D
- 알고리즘
- 리뷰
- 연산자
- c
- 문법
- Windows
- tipssoft
- 이지스퍼블리싱
- Programming
- 지식나눔강좌
- 김성엽
- Kotlin
- 배열
- VS ERROR
- Win32
- doit코틀린프로그래밍
Archives
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
VS ERROR C4996 : This function or variable may be unsafe(SDL 오류) 본문
DEV/Tip
VS ERROR C4996 : This function or variable may be unsafe(SDL 오류)
F.R.I.D.A.Y. 2018. 10. 1. 12:02반응형
오늘은 scanf() 함수와 같이 입출력 함수, 문자열 함수를 다룰 때 종종 발생하는 C4996에 대해 다뤄봅니다.
원인
원래는 문제없이 컴파일되는 것이 맞지만, scanf() 등의 함수에서 발생 가능한 잠재적 문제점으로 인해 MSVC에 이 함수들을 사용하지 못하도록 강제하는 설정(SDL, Security Development Lifecycle)이 활성화되어 사용하지 못하는 것입니다.
해결
아래 두가지 방법으로 해결할 수 있습니다.
Plan1. 코드 상단에 전처리 코드 작성
아래 두 줄의 코드 중, 하나만 작성하면 됩니다.
#pragma warning(disable:4996) // MSVC 전처리 코드
#define _CRT_SECURE_NO_WARNINGS
Plan2. 프로젝트 설정 변경
다음 방법을 따라하세요.
상단 메뉴의 프로젝트 - 속성(P)을 눌러 속성 창을 엽니다.
왼쪽의 C/C++ - 일반 메뉴에서 SDL 검사 항목을 아니요(/sdl-)로 바꿔줍니다.
간혹 C/C++ 탭이 없을 수도 있는데, 이 때는 프로젝트에 C/C++ 소스코드 파일이 하나 이상 존재하는지 확인해보세요. MS 포럼에서 찾아보니 소스코드 파일이 없으면 활성화가 안되는 듯 합니다. 링크
읽을거리
이 글에서 알린 scanf를 바로 사용할 수 없는 이유에 대해 작성한 글입니다.
# index
728x90
반응형
'DEV > Tip' 카테고리의 다른 글
VS ERROR C1010 : 미리 컴파일된 헤더파일이 없습니다. (0) | 2018.10.04 |
---|---|
영어 대소문자 반전 (0) | 2018.10.01 |
비주얼 스튜디오에서 여러줄 엔터치기 (0) | 2018.05.05 |
<서버에서 참조를 반환했습니다> 오류 (2) | 2018.05.05 |
VS 콘솔 자동 닫힘 문제 (0) | 2018.04.14 |
Comments