由于类型的大小在C的标准中并不接近,如果没有它们的最大和最小大小,我想知道在哪里可以找到gcc如何解释它。
gcc文档中它们将采用的类型大小在哪里?有指定吗? 我找不到这些信息,所以我希望得到一些帮助。
提前致谢。
---结论---
调查你的所有评论, 我终于得到了这个链接中的信息来争辩答案
5.2.4.2.1整数类型的大小:http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1336.pdf
答案 0 :(得分:3)
根据其他人所说,你可以看到limits.h。然而,做自己的更好方法是说出你的意思。因此#include <stdint.h>
然后您可以使用
int32_t
正好为32位int_fast32_t
表示最快的数据类型,至少有32位但是,如果要存储数组偏移量,则应使用size_t
或ssize_t
;同样,对于足以存储指针的整数数据类型,请使用intptr_t
。
答案 1 :(得分:3)
它本身并不在GCC文档中,而是在每个目标系统的ABI文档中。例如。对于Linux x86_64,ABI文档在此处:http://www.x86-64.org/documentation/abi.pdf
GCC支持的每个ABI的详细信息当然都是在GCC源代码中编写的,例如, GCC内部手册第17章http://gcc.gnu.org/onlinedocs/gccint/Target-Macros.html
答案 2 :(得分:2)
对于最小值和最大值,您可以查看limits.h(或C99及更高版本中的等价物 - stdint.h,其中包括limits.h)。
对于类型的大小,只需使用sizeof();