코딩하면서 문득 _T() 매크로는 왜 사용하는걸까라고 생각했다.
이유는 간단하다.
Visual Studio의 예전 버전에서는 새 프로젝트를 생성할 때에도 유니코드 라이브러리를 사용할 것인지를
선택할 수 있었지만, 2013 버전부터는 유니코드 사용이 기본으로 설정되었다고 한다.
유니코드로 정의된 프로젝트에서 _T() 매크로를 사용하면
리터럴 문자열은 앞에 L 접두사를 붙여주고
멀티 바이트 문자 인코딩(MBSC)을 사용한 프로젝트라면
접두사 없이 저장한다.
이러한 이유로 Visual Studio 2013 버전부터는 _T() 매크로 사용을 권장하고 있다.
tchar.h 파일에 구현되어 있는 부분이다.
#ifdef _UNICODE
#define __T(x) L ## x
#else /* ndef _UNICODE */
#define __T(x) x
'Development > MFC(Visual C++)' 카테고리의 다른 글
[MFC] 메모리 릭 체크하기 (0) | 2019.10.30 |
---|---|
[MFC] Onvif 프로토콜을 사용한 IP 카메라 출력하기 (2) | 2017.03.05 |
[MFC] Invalidate (0) | 2016.08.09 |
[MFC] 파일의 내용 중 부분만 수정하여 쓰기 (1) | 2016.06.29 |
[MFC] 폴더의 하위 폴더까지의 지정한 확장자명 파일들 삭제 (0) | 2016.06.29 |