数据模型LP32 ILP32 LP64 LLP64 ILP64
各个C++实现所选择采用的基础类型的大小统称为“数据模型”。有四种广泛采用的数据模型:
32 位系统:
LP32 或 2/4/4(int 为 16-bit,long 和指针为 32 位)
Win16 API
ILP32 或 4/4/4(int,long 和指针都为 32 位)
Win32 API
Unix 和 Unix 类的系统(Linux,Mac OS X)
64 位系统:
LLP64 或 4/4/8(int 和 long 为 32 位,指针为 64 位)
Win64 API
LP64 或 4/8/8(int 为 32 位,long 和指针为 64 位)
Unix 和 Unix 类的系统(Linux,Mac OS X)
1 #include <iostream> 2 using namespace std; 3 int main() { 4 int* a; 5 cout<<sizeof(int)<<" "; 6 cout<<sizeof(long)<<" "; 7 cout<<sizeof(a)<<" "; 8 return 0; 9 }