是否有通过linux(gcc)使用的所有用户数据结构的引用

时间:2013-05-01 14:24:47

标签: c linux gcc linux-kernel libc

类型size_t在哪里定义了这样的其他类型,是否有linux(gcc)中所有用户定义的类型和数据结构的引用。

上的参考指南
  • sockaddr_in6
  • sockaddr_in
  • mm_struct
  • pci_dev
  • sk_buff
  • tq_struct

...

1 个答案:

答案 0 :(得分:2)

最终参考是标准。

C标准定义size_t并说它在<stddef.h>中定义(在GNU / Linux上,该标题由GCC提供),POSIX要求在包含<sys/types.h>之后定义

POSIX标准在<netinet/in.h>

中定义sockaddr_in6
  

也适用于例如:size_t,它通常是无符号整数,为什么我们定义&gt; size_t val;而不是unsigned int val;

因为它可能不是unsigned int。在我的平台上它是unsigned long,因此通过编写size_t,您可以获得一种保证能够表示必要值范围的类型。使用unsigned int并不保证。