数据模型(LP32 ILP32 LP64 LLP64 ILP64 )

现今所有64位的类Unix平台均使用LP64数据模型,而64位Windows使用LLP64数据模型,除了指针是64位,其他基本类型都没有变。

用ubuntu系统(类Unix系统)以64位codeblocks平台进行测试,其基本类型长度符合LP64规则。用windows10(64位)以MinWG32编译器测试,其基本类型长度符合ILP32。用windows10(64位)在VS2010上用x64编译测试,其基本类型长度符合LLP64。可以确定,在windows系统上基本类型长度是由编译器决定的,但由于没有在类Unix系统上用32位编译器测试,故不能确定是否可以得出在类Unix系统上也是编译器决定基本类型长度的结论。

 TYPE               LP32   ILP32   LP64   ILP64   LLP64

CHAR                 8         8          8         8         8

SHORT              16       16        16       16       16

INT                    16       32        32       64       32

LONG                32       32        64       64       32

LONG LONG     64       64        64       64       64

POINTER           32       32        64       64       64 

你可能感兴趣的:(数据模型(LP32 ILP32 LP64 LLP64 ILP64 ))