我用的是 64-bit
机器。
$ uname -m
x86_64
$ file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
$
当我运行以下程序时,我得到了 sizeof(int)
作为 4-bytes
。
#include <stdio.h>
int main(void)
{
printf("sizeof(int) = %d bytes\n", (int) sizeof(int));
return 0;
}
如果我运行的是 16-
、 32-
和 64-
位机,那么这是否意味着 integer
的大小分别是 16-
、 32-
和 64-
位?
在我的机器里,我发现 WORD_BIT
是 32
。它不应该是 64-bit
机器上的 64
吗?
$ getconf WORD_BIT
32
$
在上述情况下,sizeof(int)
不应该是 64-bits
(8 bytes
)吗?