다음을 통해 공유


Visual C++에서 MBCS 지원

MBCS 지원 버전의 Windows에서 실행하는 경우 메모리 창을 제외하고 Visual C++ 개발 시스템(통합 소스 코드 편집기, 디버거 및 명령줄 도구 포함)은 MBCS를 사용할 수 있습니다.

메모리 창은 데이터를 ANSI 또는 유니코드 문자로 해석할 수 있더라도 데이터의 바이트를 MBCS 문자로 해석하지 않습니다. ANSI 문자는 항상 크기가 1바이트이고 유니코드 문자의 크기는 2바이트입니다. MBCS를 사용하면 문자 크기가 1바이트 또는 2바이트일 수 있으며 해당 해석은 사용 중인 코드 페이지에 따라 달라집니다. 이 때문에 메모리 창에서 MBCS 문자를 안정적으로 표시하기 어렵습니다. 메모리 창에서 문자의 시작 부분인 바이트를 알 수 없습니다. 개발자는 메모리 창에서 바이트 값을 보고 테이블의 값을 조회하여 문자 표현을 확인할 수 있습니다. 이는 개발자가 소스 코드를 기반으로 문자열의 시작 주소를 알고 있기 때문에 가능합니다.

Visual C++는 적절한 경우 더블 바이트 문자를 허용합니다. 여기에는 대화 상자의 경로 이름과 파일 이름, Visual C++ 리소스 편집기(예: 대화 편집기에서 정적 텍스트 및 아이콘 편집기에서 정적 텍스트 항목)의 텍스트 항목이 포함됩니다. 또한 전처리기는 일부 더블바이트 지시문(예: 문의 파일 이름 #include 및 pragmas에 대한 인수)을 code_seg data_seg 인식합니다. 소스 코드 편집기에서는 주석 및 문자열 리터럴의 더블 바이트 문자가 허용되지만 C/C++ 언어 요소(예: 변수 이름)에는 허용되지 않습니다.

IME(입력 방법 편집기) 지원

MBCS(예: 일본)를 사용하는 동아시아 시장을 위해 작성된 애플리케이션은 일반적으로 단일 및 더블 바이트 문자를 모두 입력하기 위해 Windows IME를 지원합니다. Visual C++ 개발 환경에는 IME에 대한 모든 지원이 포함되어 있습니다.

일본어 키보드는 간지 문자를 직접 지원하지 않습니다. IME는 다른 일본어 알파벳(로마지, 가타카나 또는 히라가나) 중 하나에 입력된 윗주 문자열을 가능한 간지 표현으로 변환합니다. 모호성이 있는 경우 몇 가지 대안 중에서 선택할 수 있습니다. 의도한 간지 문자를 선택하면 IME가 제어 애플리케이션에 두 WM_CHAR 개의 메시지를 전달합니다.

ALT+의 키 조합에 의해 활성화된 IME는 단추 집합(표시기) 및 변환 창으로 나타납니다. 애플리케이션은 텍스트 삽입 지점에 창을 배치합니다. 애플리케이션은 대상 창의 새 위치 또는 크기를 준수하도록 변환 창의 위치를 변경하여 메시지를 처리하고 메시지를 처리 WM_MOVE WM_SIZE 해야 합니다.

애플리케이션 사용자가 간지 문자를 입력할 수 있도록 하려면 애플리케이션에서 Windows IME 메시지를 처리해야 합니다. IME 프로그래밍에 대한 자세한 내용은 입력 메서드 관리자를 참조 하세요.

Visual C++ 디버거

Visual C++ 디버거는 IME 메시지에 중단점을 설정하는 기능을 제공합니다. 또한 메모리 창에는 더블 바이트 문자가 표시 될 수 있습니다.

명령줄 도구

컴파일러, NMAKE 및 리소스 컴파일러(RC.EXE)를 포함한 Visual C++ 명령줄 도구는 MBCS를 사용할 수 있습니다. 리소스 컴파일러의 /c 옵션을 사용하여 애플리케이션의 리소스를 컴파일할 때 기본 코드 페이지를 변경할 수 있습니다.

소스 코드 컴파일 시간에 기본 로캘을 변경하려면 #pragma setlocale를 사용합니다.

그래픽 도구

Spy++ 및 리소스 편집 도구와 같은 Visual C++ Windows 기반 도구는 IME 문자열을 완벽하게 지원합니다.

참고 항목

멀티바이트 문자 집합(MBCS) 지원
멀티바이트 문자 집합(MBCS) 프로그래밍 팁