字长模型LP64,ILP64,LLP64,ILP32,LP32
字长(数据)模型是编译器用来确定基本数据类型长度的。
LP64,ILP64,LLP64是64位平台上的字长模型,ILP32和LP32是32位平台上的字长模型。
根据命名,L-long,P-pointer,LL-longlong,64-上述类型字长64,32-上述类型字长32。
所以,字长模型的主要不同是这三种基本类型长度。
基本数据类型长度如下图(来自:http://www.runoob.com/cprogramming/c-data-types.html)
结论:
1、32位Windows和类Unix使用ILP32字长模型,64位Windows使用LLP64模型,64位类Unix使用LP64字长模型。
2、根据1,long在32位和64位Windows上永远是4字节,在32位类Unix上是4字节,在64位类Unix上是8字节。
3、其他基本类型Windows和类Unix字长一致。
32位Windows和类Unix(UNIX/Linux/MacOS X)均采用ILP32字长(数据)模型。
64位Windows采用的是LLP64数据模型,64位采用的是LP64数据模型。