티스토리 뷰
Windows시스템에서 (리눅스는 아닐듯) 유니코드와 MBCS(Multi Byte Character Set)을 지원하기 위해 TCHAR을 사용한다.
MS에서 제작한것이라고 생각
일반적으로 tchar.h을 include 한 후 TCHAR을 사용하게 되는데, 이것에 대한 상세 내용을 보면 다음과 같다.
하지만 tchar.h에는 _UNICODE에 대한 정의만 있고, UNICODE에 대한 정의는 안보인다. 못찾는것일수도있고..
UNICODE는 타입에 대한 정의고, _UNICODE는 _txxx 들어간 함수에 대한 정의 이다.
MS에서 제작한것이라고 생각
일반적으로 tchar.h을 include 한 후 TCHAR을 사용하게 되는데, 이것에 대한 상세 내용을 보면 다음과 같다.
하지만 tchar.h에는 _UNICODE에 대한 정의만 있고, UNICODE에 대한 정의는 안보인다. 못찾는것일수도있고..
UNICODE는 타입에 대한 정의고, _UNICODE는 _txxx 들어간 함수에 대한 정의 이다.
typedef char CHAR; typedef wchar_t WCHAR; #define CONST const typedef CHAR* LPSTR; typedef CONST CHAR* LPCSTR; typedef CONST WCHAR* LPCWSTR; typedef WCHAR* LPWSTR; #ifdef UNICODE typedef WCHAR TCHAR; typedef LPWSTR LPTSTR; typedef LPCWSTR LPCTSTR; #else typedef CHAR TCHAR; typedef LPSTR LPTSTR; typedef LPCSTR LPCTSTR; #endif #ifdef _UNICODE #define __T(x) L ## x #define _tmain wmain #define _tcslen wcslen #define _tcscat wcscat #define _tcscpy wcscpy #define _tcsncpy wcsncpy #define _tcscmp wcscmp #define _tcsncmp wcsncmp #define _tprintf wprintf #define _tscanf wscanf #define _fgetts fgetws #define _fputts fputws #else #define __T(x) x #define _tmain main #define _tcslen strlen #define _tcscat strcat #define _tcscpy strcpy #define _tcsncpy strncpy #define _tcscmp strcmp #define _tcsncmp strncmp #define _tprintf printf #define _tscanf scanf #define _fgetts fgets #define _fputts fputs #endif #define _T(x) __T(x) #define _TEXT(x) __T(x)
'Programming Languages > C,C++' 카테고리의 다른 글
크로스 컴파일(Cross Compile) (0) | 2011.07.23 |
---|---|
컴파일, 링크, 빌드 and 디버깅 (0) | 2011.07.23 |
Editplus, VisualC++ 컴파일러에서 어셈블리까지 (1) | 2011.04.26 |
ProcessID를 갖고 윈도우핸들 얻어오기 (0) | 2011.04.23 |
Assembly의 기초 공부 (0) | 2011.04.23 |
댓글
01-03 00:52
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday