2

正如我们可以看到在 stdint.h 或 bits/types.h 等中定义的宏。它是 __WORDSIZE。我不知道在哪里检查是否定义了这个宏。另外,有没有一种方法可以在不使用 c 中的 sizeof 的情况下检查基本类型的不同大小。我的意思是,是否有文件展示了这些变量的大小?

4

1 回答 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 回答