Win64
Home Up

 

Linux
Win64

Win64

Data Model (LLP64)

Pointers - 64 bits
Long long - 64 bits
Long - 32 bits
Int - 32 bits
sizeof(void*) != sizeof(long)

Five Programming Models

Flat Address with 64-bit pointers
Allows access to 512GB virtual memory
Small Address Space
Pointers are 32-bits
Restricts access to 2GB virtual memory
Provides instruction reordering and other optimizations for IA-64
64-bit pointers are allowed, but upper 32 bits are zeroes
IA-32 Compatability
Pointers are 32-bits
2GB Virtual Memory Limitation
No IA-64 Optimizations
Mixed Mode
Flat address with both 64-bit and 32-bit pointers
32-bit pointers are offset pointers relative to an originating 64-bit pointer
Access to 512GB virtual memory through 64-bit pointers
Small Address Space with 64-bit pointers
Pointers are 64-bits
Restricts access to 2GB virtual memory
All 64-bit pointers are cast to 32-bit ints or longs

Instruction Set Architectures

IA-64 and IA-32 may not be mixed in the same process space
This includes the application and any associated DLL's

Legacy

No ISA support
No Win16 API support