基本数据类型的长度

C/C++仅仅定义了这些基本数据类型之间的关系,并没有定义严格定义它们的字长。在不同的平台上,根据编译器不同的实现,它们的字长如下表所示:

数据类型 LP64 ILP64 LLP64 ILP32 LP32
char 8 8 8 8 8
short 16 16 16 16 16
_int32 N/A 32 N/A N/A N/A
int 32 64 32 32 16
long 64 64 32 32 32
long long N/A N/A 64 N/A N/A
pointer 64 64 64 32 32

 

在这张表中,LP64,ILP64,LLP64是64位平台上的字长模型,ILP32和LP32是32位平台上的字长模型。

  • I表示int
  • L表示long
  • LL表示long long
  • P表示pointer

32位Windows和unix/类unix系统基本都采用的是ILP32

64位Windows采用的是LLP64

64位unix/类unix(Linux, Mac OS X)基本都采用LP64

 

你可能感兴趣的:(linux,windows,unix,OS,平台,编译器)