검색결과 리스트
글
3. 윈도우 내의 유니코드 함수와 ANSI 함수
Windows C, C++/2. 문자와 문자열로 작업하기
2015. 1. 25. 23:49
윈도우 NT 버젼 이후는 유니코드를 기반으로 작성됨.
ANSI 문자열을 전달하면 호출된 함수는 유니코드로 변경후에 운영체제에 이를 전달한다. (시간/메모리 낭비)
윈도우에서- 문자열 인자가 있는 함수의 경우 두버젼으로 제공하는 게 일반적.
CreateWindowExW (Wide) / CreateWindowExA ( ANSI )
이를 이용하는 것이 아니라 유니코드 사용 여부에 따라 위 함수를 전처리기를 통해 분기하는 함수를 이용하는 것이 일반적.
#ifdef UNICODE
#define CreateWindowExW CreateWindowExW
..
CreateWindowExA 는 유니코드를 변환한후 CreateWindowExW 를 호출하는 형태로 구현되어 있다.
-> 즉 더 많은 메모리와 시간 소요
몇몇 윈도우 API 는 16비트 윈도우용으로 제작된 프로그램과의 호환성을 위해서만 유지되고 있어 ANSI 문자열만을 지원.
즉, 이런 함수는 개발시에 사용하지 않아야한다.
'Windows C, C++ > 2. 문자와 문자열로 작업하기' 카테고리의 다른 글
2. ANSI 문자와 유니코드 문자 그리고 문자열 자료형 (0) | 2015.01.25 |
---|---|
1. 문자 인코딩 (0) | 2015.01.25 |