Visual Studio .NET 2005 를 사용하여 예전 프로그램들을 새로 컴파일하다 보면 유난히도 deprecated warning 이 많이 나오는 것을 발견할 때가 있다.

보안 관련 기능을 강화하였기 때문인데, 특정 함수가 deprecated 되었다는 것은 이 함수는 앞으로 사용하지 않을 것이므로, 이를 대체할 다른 함수를 사용하라는 의미로 해석하면 된다. 아마 warning 메시지에서 대체 함수 이름을 알려줄 것이다.

그러나, 너무 많은 deprecated 함수가 존재할 경우 모든 함수를 다 변경하는데 시간이 너무 오래 걸리고, 또한 그다지 보안이 심각하게 필요한 상황이 아니라면 이 warning 을 안나오게 하는 것이 더 편할 수도 있다.

솔루션 속성 창을 열어서

[구성 속성] -> [C/C++] -> [전처리기] 항목을 연다.

아마 WIN32;DEBUG; 등의 옵션이 설정되어 있을 것이다.

여기에 _CRT_SECURE_NO_DEPRECATE 항목을 추가하고 컴파일하면 deprecated 경고는 모두 사라질 것이다.

그러나, 만약 보안에 민감한 프로젝트라면 warning 메시지에서 알려주는 대로 함수를 새 함수들로 교체하는 것이 바람직할 것이다.

데브피아에서 참조하였습니다.
http://www.devpia.com/
Posted by kkokkal
: