我用的是 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)吗?