long和long long占几个字节,以及数据模型:LP32、ILP32、LP64、ILP64、LLP64
数据模型
LP64、ILP64、LLP64是64位平台上的数据模型,LP32、ILP32是32位平台上的数据模型。
LP64:long、pointer是64位
ILP64:int、long、pointer是64位
LLP64:long long、pointer是64位
LP32:long、pointer是32位
ILP32:int、long、pointer是32位
如今所有64位的类Unix平台(如Linux、Mac OS X)均使用的是LP64数据模型即,64位的Windows使用的是LLP64数据模型。
| data type | LP64 | ILP64 | LLP64 | LP32 | ILP32 |
| char | 8 | 8 | 8 | 8 | 8 |
| short | 16 | 16 | 16 | 16 | 16 |
| int | 32 | 64 | 32 | 32 | 32 |
| long | 64 | 64 | 32 | 32 | 32 |
| long long | 64 | 64 | 64 | 64 | N/A |
| pointer | 64 | 64 | 64 | 32 | 32 |
参考链接: