본문 바로가기

프로그래밍

64비트 프로그램으로 가는 길 [64비트 윈도우 프로그래밍] ③ 64비트 프로그램으로 가는 길연재순서1. 32비트 윈도우 프로그램을 엄호하라2. 윈도우의 변신은 무죄? 64비트 윈도우 파악하기3. 64비트 윈도우 프로그램으로 가는 길 유병인 (안철수연구소) 2005/05/23 19세기말 노르웨이의 화가 에드바르트 뭉크가 남긴 ‘절규’는 노을이 비낀 하늘과 멀리 펼쳐진 북유럽의 해안선을 배경으로 불안한 얼굴을 한 남자를 그린 작품이다. 그동안 32비트 컴퓨팅에 안주해 있던 우리들은 이제 그림 속의 남자와 같이 혼란스러운 64비트 컴퓨팅 시대를 눈앞에 두고 있다. 이번 회에서는 혼돈 속에 작은 빛이 되기 바라는 마음으로 64비트 응용 프로그램을 개발하기 위한 환경 구축 방법과 새로운 소스를 개발하거나 기존의 32비트 소스를 포팅할 때 유.. 더보기
유니코드에 대비한 프로그램을 작성하는 여섯가지 원칙 MBCS는 한 문자를 표현하는데 여러 바이트를 사용하는 것을 말한다. 일반적인 영문자의 경우 모두 한 바이트로 표시되지만, 한글과 같은 경우에는 두 바이트를 사용한다. 또한 두 바이트를 사용하더라도 인코딩 규칙에 따라서 서로 다른 두 바이트가 생성된다. 따라서 인코딩 규칙이 맞지 않는 경우에는 제대로 된 문서를 읽을 수 없는 불편함이 있다. 이러한 불편함을 해결하기 위해서 나온 것이 유니코드다. 유니코드에 대해선 이미 많은 문서에서 소개가 되었기 때문에 별도로 설명하진 않겠다. 혹시 좀 더 자세한 내용이 궁금하다면 http://www.jinsuk.pe.kr/Unicode/Unicode_intro-kr.html를 방문해 보도록 하자. Windows NT에 기반한 운영체제의 경우 커널 코드가 유니코드를 통해.. 더보기
GetBuffer 함수에 대하여 CString 함수는 문자열을 동적으로 저장합니다. 그건 CString 에 문자열을 넣을때에 문자열의 길이만큼 메모리를 잡아서 문자열을 복사한다는 의미죠. 그런데 질문하신 구문을 보면 CString 타입을 그냥 LPCSTR 타입으로 바로 케스팅을 하였는데요 여기서 LPCSTR 은 CString 에서 연산자 재정의를 통해서 CString 의 문자열의 첫번째 포인터를 리턴하도록 만든 것입니다. 보시면 사이의 C 문자가 Const 의 의미로 반환한 문자열 포인터에 들은 값을 변경할 수 없도록 한것이죠. 잘 모르시겠으면 C 나 C++ 책에서 Const 의 의미를 찾아보심이... CString 타입에 문자열을 복사하도록 구현한 함수가 GetBuffer 함수입니다. 위의 구문을 다시 해보면 CString ss; G.. 더보기
유니코드 프로그래밍시 읽어둘만한 것들 1 포켓PC에서는 모든 API는 유니코드 스트링으로 작업을 합니다. 하지만, 과거 DeskTop시절. 우리는 개발시에는 ANSI문자열을 사용하는데 더욱더 익숙해져 있습니다. 그래서 이번내용을 자세히 모르고 넘어가면 나중에 진짜 고생을 하게 될 것입니다. 꼭 자세히 보고 해보시길. 자. 우선 자세히 보기전에 전체적인 내용을 보도록 하죠. Ps. 다음에 나오는 내용중에 외국 칼럼리스트가 쓴 내용도 있습니다. ► ANSI 문자열? 일반적으로 우리가 제일 많이 쓰는걸 한번 보죠. AfxMessageBox(“sss”); TRACE(“ddd”); 다음 코드는 WinAPI 이므로 MFC 에서는 가능하지만, CE시에서는 제대로 작동을 안하죠. AfxMessageBox(_T(“sss”)); TRACE(_T(“ddd”)); .. 더보기