一、所占字节
在C语言和C++中,int 和 long 的大小是由编译器和操作系统的组合决定的,而不是直接取决于操作系统的位数。
在通常的情况下,int 表示整数,而 long 表示较大的整数。在32位系统上,int 通常是32位,而 long 通常也是32位。在64位系统上,int 通常是32位,而 long 通常是64位。
二、不同编译编译模型所占的位数
Datetype(bit) | LP64 | ILP64 | LLP64 | ILP32 | LP32 |
---|---|---|---|---|---|
char | 8 | 8 | 8 | 8 | 8 |
short | 16 | 16 | 16 | 16 | 16 |
int | 32 | 64 | 32 | 32 | 16 |
long | 64 | 64 | 32 | 32 | 32 |
long long | 64 | 64 | 64 | 64 | 64 |
pointer | 64 | 64 | 64 | 32 | 32 |
一般情况下windows64位一般使用LLP64模型
64位Unix,Linux使用的是LP64模型
文章是自己总结而记录,有些知识点没说明白的,请各位看官多多提意见,多多交流,欢迎大家留言
如果技术交流可以加以下群,方便沟通