
글 주소는 http://www.viva64.com/en/l/
64비트 포팅 – 32비트 포인터들이여 안녕에서 소개한 20 issues of porting C++ code on the 64-bit platform보다 더 자세하게 설명한다.
설명도 자세하고 좋아 도움을 많이 받았다. 똑바로 일하라 (Rework)에서 다른 사람을 가르치는 걸 좋은 마케팅 방법으로 소개한다. 정말 그런 것 같다. 보고 있자니 PVS-Studio가 좋아져.
Lesson 01. What 64-bit systems are.
64bit 마이크로프로세서 아키텍처로는 IA64와 Intel 64가 유명. 당연히 서로 호환은 안 되고 담쌓고 지냄.
x86-64, AA-64, Hammer Architecture, AMD64, Yamhill Technology, EM64T, IA-32e, Intel 64, x64. 이거 다 같은 의미. 뭐 조금씩 다르거나 이렇게 된 역사나 이유가 있겠지만, 관심 없다. 귀찮아.
x86-64 아키텍처 주요 장점. x86 하위 호환성도 갖췄어요~
- the 64-bit address space;
- an extended register set;
- a command set familiar to developers;
- the capability to launch obsolete 32-bit applications in a 64-bit operating system;
- the capability to use 32-bit operating systems.
오예~ Win64에서는 호출규약(calling convention)이 하나밖에 없다. Win32에서는 많았지. __stdcall, __cdecl, __fastcal, ... 하지만 이거 때문에 32bit, 64bit 코드를 못 섞어 쓴다.
Continue reading »