프로그래밍/Windows API30 유니코드 wchar_t 는 2바이트인데 65536 이넘는 유니코드를 어떻게 표현?? 출처: http://pallas.egloos.com/1300407 기본 언어판 (기본 다국어 언어판) 줄여서 보통 BMP(Basic Multilingual Plane)로 표현한다. 비트맵이 아니다. 0x0000 - 0xFFFF 까지의 영역을 표현. 2바이트로 2^16, 즉 65,536개의 문자를 표현할 수 있다. 보충 언어판 Supplementary Plane이라고 한다. 16개의 언어판이 존재한다. 이전에도 언급했듯이 한자만 보더라도 기본 언어판으로는 세상의 모든 언어를 감당하기는 힘들다. 그래서 유니코드 3.0 부터는 보충 언어판을 정의했는데 예상대로 한자가 4만여자로 가장 많이 할당받았으며 그 밖에도 음악관련 기호, 수학용 문자및 기호등이 더 추가되었다. 0x00010000 - 0x0001FFFF .. 2009. 7. 13. WIN32 쓰레드 (WINDOWS THREAD) 출처 : Devpia, 김연기님 쓰레드(Thread) 프로세스가 실행이 되면 쓰레드가 실행 파일의 엔트리 포인트에서부터 프로그램을 실행 시킵니다. 쓰레드는 커널 오브젝트와 주소공간, 두 개의 구성요서를 가집니다. Ø 커널 오브젝트 : 시스템이 쓰레드를 실행 하고 관리할 수 있도록 쓰레드의 정보를 가지고 있습니다. Ø 주소공간(Address Space) : 프로그램 관점에서 볼 때 우리는 변수는 힘, 스택(지역변수), 전역공간(전역변수)에 저장이 된다고 배웠습니다. 주소공간은 스택을 말하는 것이고, 스택에는 지역 변수와 쓰레드의 실행코드가 들어 있습니다. 쓰레드의 실행과정 프로세스가 서브시스템에 로드 되고 쓰레드가 실행이 될 때는 커널에서 쓰레드 우선 순위에 따라 쓰레드를 실행 시킵니다. 커널에서 쓰레드를.. 2009. 7. 11. error C2665: 'operator new' : 5개의 오버로드 중 모든 인수 형식을 변환할 수 있는 오버로드가 없습니다. 출처: http://shiftkey.org/tag/error#entry_197 error C2665: 'operator new' : 5개의 오버로드 중 모든 인수 형식을 변환할 수 있는 오버로드가 없습니다. Posted at 2008/12/18 08:45 Filed under lang/Cpp(VC) 오류 1 error C2665: 'operator new' : 5개의 오버로드 중 모든 인수 형식을 변환할 수 있는 오버로드가 없습니다. 아...뭐 짜증나게 파일하나 include 했더니 저런 에러가 뜨더라. 문제는 #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static TCHAR THIS_FILE[] = _T(__FILE__); #endif요녀석 때문인데 .. 2009. 7. 10. Dialog 에서 Esc, Enter Key로 종료 안되게 Dialog 에서 Esc, Enter Key로 종료 안되게 출처 : 네이버 블로그 ( http://blog.naver.com/hoteye/120018807047 ) CDialog에는 디폴트 버튼이라는 것이 항상 존재하도록 만들어집니다. 그 디폴트 버튼이라는 것이 항상 VK_RETURN으로 입력되도록 메시지 처리가 이뤄지고 말이죠. 같은 방식으로 어느 컨트롤 위에서건 ESC키를 누르면 마찬가지로 다이알로그가 없어집니다. 항상 다이알로그는 Enter로는 OK를 ESC로는 Cancel을 처리하도록 되어있끼 때문이죠. 이 처리과정을 없애고 싶을경우 CDialog::PretranslateMessage에서 처리하면 됩니다. 방법 1. OnOK() 를 오버라이딩 한다. void CTestDlg::OnOK() { //.. 2009. 7. 10. 이전 1 2 3 4 5 6 7 8 다음