programming2009. 4. 3. 21:29
운영중인 라이브러리를 64bit 용으로 요청 받았다.
근데 이 라이브러리가 사용하는 라이브러리가 또 엄청 많다 ㅡㅡ 난감.....
그래서 이번기회에 작업하면서 정리를 하려 했으나, 좋은 링크를 발견해서 그냥 링크로 대신할란다. ㅡㅡ

http://www.microsoft.com/korea/msdn/msdnmag/issues/06/05/x64/default.aspx#S8

그리고 추가 링크 하나더 MSDN 링크

http://msdn.microsoft.com/ko-kr/library/h2k70f3s.aspx

그냥 링크만 남기기는 좀 아쉬워서 간단 요약해 본당 ㅎㅎ.

1, 먼저 64비드 빌드 환경을 설정한다. ("구성 관리자" 에서 "활성 솔루션 플랫폼" 에서 x64 추가)
2, 주소값을 int, long, DWORD 에 저장한 것이 있는지 확인한다. 그리고 DWORD_PTR 로 변경한다.
3, printf, sprintf 에 포인터를 %d, %lx 등 으로 사용한 부분은 %p 로 변경한다. 64 비트 변수를 포맷팅 하려면 %I64d 와 같이 prefix I 를 이용해 사이즈를 지정해준다.
4, size_t, time_t ptrdiff_t는 64비트 Windows 운영 체제에서 64비트 값이다. 32비트 값 고정으로 사용하려면 __time32_t 등을 사용해야 한다.
5, win32 코드와 win64 코드가 구분지어져야 한다면 _WIN64 전처리기를 사용하여 작업한다.

64 bit 로 빌드 한 후 배포에 문제가 있다면 다음을 참고한다.

http://www.serious-code.net/moin.cgi/RedistributingVisualCppRunTimeLibrary

% VC80 의 DLL & Manifest 파일은 "C:\Program Files\Microsoft Visual Studio 8\VC\redist" 에 있다. 입맛 맞게 가져다 쓰면될듯 ...
Posted by 상현달