字长模型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数据模型。

posted @ 2019-03-22 11:22  鞋带儿  阅读(1775)  评论(0编辑  收藏  举报