Visual Studio VS6 프로젝트를 VS2005로 마이그레이션시 참고 - CRT
2013.12.28 15:12
출처: http://1and0.tistory.com/entry/VS2005MigrationCRT
기존의 VS6 프로젝트를 VS2005로 마이그레이션 할 경우 몇 가지 warning에 부딪힐 수 있다.
경험한 몇가지를 예를 들자면,
1. For 문의 지역 변수 스코프
{
// 처리 코드
}
for ( i=0; i<10; i++ )
{
// 처리 코드
}
VS6에서는 이와 같은 코드가 정상적으로 작동했으나 VS2005이상에서는 정상적으로 작동하지 않는다. 이는 표준을 준수하는 것으로 for 문 내부에서만 i 변수의 스코프가 유효하도록 수정되었기 때문이다.
이 경우는 왠만하면 표준을 준수하도록 고쳐 주는 것이 좋으며 그렇지 않을 경우에는 프로젝트 속성-구성 속성-C/C++-언어에 보면 for 루프 범위 강제 규칙이라는 항목이 기본 "예"로 되어 있는데 이른 "아니오"로 설정하면 그대로 사용이 가능하다.
2. warning C4996
VS2005 부터는 CRT 라이브러리 함수의 문자열 다루는 함수의 안정성에 많이 신경을 쓴다. 그래서 기존의 문자열 함수에 _s를 붙여서 버퍼의 길이를 지정하도록 권장하고 있는데 이것 때문에 기존의 strcpy 같은 문자열 함수에서 C4996 warning 가 발생한다. warning 내용을 보면 아래와 유사하다.
이를 경우에도 권장하는 바를 따르는 것이 일단 좋다고 생각되나 그런 환경이 되지 않을 경우에는 적혀 있는대로 <stdafx.h> 파일 상단에
를 정의해 주거나
를 정의해 줘도 된다.
그리고 또 한가지
를 정의해 줘도 된다.
3. warning C4996
그리고 같은 4996 에러로서 아래와 같은 warning 이 날 수도 있다.
이를 경우에는 <stdafx.h> 파일 상단에
를 정의해 주면 된다.
4. warning C4995
4995 에러는 #pragma deprecated 로 지정된 함수를 사용하면 warning 이 나는데 에러 내용을 보면 아래와 같다.
이 해결책을 MSDN에 보면
를 주면 이 경고를 해제할 수 있다고 나와 있다.
그리고 또 다른 방법으로는 역씨 define 문을 사용할 수 있는데
을 사용하면 경고를 없앨 수 있다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
30 |
인스톨쉴드 9 사용법
![]() | 푸우 | 2013.12.30 | 10413 |
29 |
Serv-U 6.x 한글 메뉴얼
![]() | 푸우 | 2013.12.30 | 9722 |
28 |
NSIS로 설치 프로그램 만들기
![]() | 푸우 | 2013.12.28 | 14143 |
27 |
Labels and Relative Jumps - NSIS manual
![]() | 푸우 | 2013.12.28 | 7719 |
» | VS6 프로젝트를 VS2005로 마이그레이션시 참고 - CRT [1] | 푸우 | 2013.12.28 | 9793 |
25 |
VC 디버그 창에 메시지 출력하기
![]() | 푸우 | 2013.12.28 | 15316 |
24 | 64비트 플랫폼을 대상으로 한 Visual C++ 프로젝트 구성 | 푸우 | 2013.12.28 | 8077 |
23 | 일반적인 Visual C++ 64비트 마이그레이션 문제 | 푸우 | 2013.12.28 | 7005 |
22 | 명령줄에서 64비트 Visual C++ 도구 집합 활성화 | 푸우 | 2013.12.28 | 7828 |
21 | Visual C++ 버젼별 배포방법 | 푸우 | 2013.12.28 | 13903 |
20 | 전직 구글러의 새로운 검색엔진, Cuil | 푸우 | 2013.11.25 | 7924 |
19 |
Serv-U를 이용한 FTP 서버 호스팅 - 두번째(미완성)
![]() | 푸우 | 2013.11.25 | 9121 |
18 |
Serv-U를 이용한 FTP 서버 호스팅(미완성)
![]() | 푸우 | 2013.11.25 | 12329 |
17 |
Portable 프로그램 만들기 - Portable MindMapper v5.0
![]() | 푸우 | 2013.11.25 | 9601 |
16 |
개발자를 위한 폰트
![]() | 푸우 | 2013.11.25 | 12521 |
15 |
Grinder 사용기
![]() | 푸우 | 2013.11.25 | 16095 |
14 |
5장. CHM파일 만들기
![]() | 푸우 | 2013.11.16 | 13808 |
13 |
4장. Doxygen 응용 3/3
![]() | 푸우 | 2013.11.16 | 10104 |
12 |
4장. Doxygen 응용 2/3
![]() | 푸우 | 2013.11.16 | 10151 |
11 |
4장. Doxygen 응용 1/3
![]() | 푸우 | 2013.11.16 | 12089 |
결과적으로 준수를 하든지 이런걸 해라는 건가요? ^^;
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_NONSTDC_NO_DEPRECATE
#pragma warning ( disable:4996 )