正如我们可以看到在 stdint.h 或 bits/types.h 等中定义的宏。它是 __WORDSIZE。我不知道在哪里检查是否定义了这个宏。另外,有没有一种方法可以在不使用 c 中的 sizeof 的情况下检查基本类型的不同大小。我的意思是,是否有文件展示了这些变量的大小?
问问题
775 次
1 回答
1
好吧,这取决于平台。首先,如果您使用 UNIX,C 标准和/或 POSIX 标准会设置一些要求。像sizeof(int) <= sizeof(long)
或sizeof(char) == 1
然后 ABI 说了算。例如,在 x86_64 上的 linux/freebsd/solaris 上,他们使用通用 ABI: http: //people.freebsd.org/~obrien/amd64-elf-abi.pdf
本文档中的 3.1.2 具有此 ABI 的所有类型的大小
于 2013-06-04T02:39:58.647 回答