IT관련 수다/코딩 삽질!!

Warning C4669

밥빌런 2009. 2. 17. 10:59
CRT Function들에 안정성에 문제가 있다고 한다.

대부분의 스트링 관련 함수들인거 같은데.

첨엔 간단히

#pragma warning(disable:4669)

로 처리 했는데 헬프를 보다 보니 언급이 있더군

Secure Template Overloads 요걸루 검색하면 나올 것이다.

방법은 간단하다.

프로젝트 세팅에서 전처리기에 _CRT_SECURE_NO_WARNINGS 를 넣는다.

그리고 적당한 헤더 (예>stdafx.h)에

#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1

를 추가한다. 요걸 추가하면 

strcpy 같은 함수를 안전한 코드인 strcpy_s 형태로 맵핑이 된다구 한다.

접미사로 _s가 붙는 함수들을 보니 전반적으로 버퍼의 크기를 정의 해줘야 하는 것들이다.

^^

2009/02/26

추가로 간혹 미리 정의되어 있는 경우가 있는듯...

#ifdef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
#if _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES == 0
#undef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#endif
#endif

반응형