Есть ли ссылка на все пользовательские структуры данных, используемые в linux (gcc)

где определяется тип size_t, каковы другие типы, подобные этому, Есть ли ссылка на все определяемые пользователем типы и структуры данных в linux (gcc). например, справочное руководство по

  • sockaddr_in6
  • sockaddr_in
  • mm_struct
  • pci_dev
  • sk_buff
  • tq_struct

...


person cc4re    schedule 01.05.2013    source источник
comment
<stddef.h>, ptrdiff_t, max_align_t, ... И size_t определенно не unsigned int ни здесь, ни в большинстве 64-битных систем.   -  person Daniel Fischer    schedule 01.05.2013
comment
@KingsIndian: ищет каждый stddef.h файл в вашей системе; не все из них обязательно актуальны. Это также может занять очень много времени, особенно если ваша система монтирует файловые системы NFS. И он не разрешит другие файлы, включенные stddef.h>. У меня работает: echo '#include <stddef.h>' | gcc -E - | grep size_t   -  person Keith Thompson    schedule 01.05.2013
comment
@KeithThompson Отлично. Это умный способ позволить gcc искать за вас ;-)   -  person P.P    schedule 01.05.2013


Ответы (1)


Окончательная ссылка - это стандарт.

Стандарт C определяет size_t и говорит, что он определен в <stddef.h> (в GNU / Linux этот заголовок предоставляется GCC), а POSIX требует, чтобы он был определен после включения _ 3_

Стандарт POSIX определяет sockaddr_in6 в <netinet/in.h>

также, например, для: size_t, который обычно представляет собой целое число без знака, поэтому мы определяем> size_t val; вместо unsigned int val;

Потому что это могло быть не unsigned int. На моей платформе это unsigned long, поэтому, написав size_t, вы получите тип, который гарантированно сможет представлять необходимый диапазон значений. Использование unsigned int не гарантирует этого.

person Jonathan Wakely    schedule 01.05.2013
comment
дайте мне знать, что вы имеете в виду под окончательной ссылкой - person cc4re; 01.05.2013
comment
Я имею в виду именно то, что означают слова окончательная ссылка. Стандарты C и POSIX - это то, что определяют значение типов size_t и sockaddr_in6. - person Jonathan Wakely; 01.05.2013
comment
Возможно, вы ищете что-то вроде man7.org/tlpi - person Jonathan Wakely; 01.05.2013