我阅读了以下关于手册页各个部分代表的内容的答案 QA:手册页中的数字是什么意思?
读完后,我不确定哪一部分是 C 数据结构的描述。它是像 C 函数的描述一样放在第 3 节中,还是放在不同的部分中?
重要的是我要了解有关 C 数据结构的手册页的哪一部分,并且我收到的答案并不特定于操作系统系列的某一特定风格。我需要一个对所有人来说都是标准的答案。
答案1
C 结构通常在与其最相关的特性或函数的手册页中详细说明。例如:
- 该结构在(系统调用)
struct sockaddr
中定义。bind(2)
- 该结构在(文件格式:utmp)
struct utmp
中定义。utmp(5)
开发人员也没有特别要求在手册页中提供有关其结构的详细信息,因为这基本上是经过良好注释的头文件的工作(请参阅 参考资料/usr/include
)。
一般来说,如果您正在寻找有关结构的详细信息,请查看您使用它的功能。例如,如果您想了解更多有关asctime
的参数 ( struct tm
) 的信息,请查看asctime
的手册页。大多数结构都带有一组用于操作它们的函数,并且这些函数通常有一个手册页。如果没有与您的结构相关的功能,这里有一些选项:
- 该结构与一个概念密切相关(例如,
struct sockaddr_un
UNIX 套接字)。查看与该概念相关的手册页(此处,unix(7)
)。 - 该结构与一个文件相关联,或者用于解析该文件(例如
struct utmp
):查看该文件的手册页(如果有)(此处为utmp(5)
)。 - 该结构似乎没有记录在任何手册页中,请查看定义它的头文件。这是 的示例
struct ifaddrs
,尽管它有一个手册页getifaddrs(3)
:
文件:/usr/include/ifaddrs.h
struct ifaddrs
{
struct ifaddrs *ifa_next; /* Pointer to the next structure. */
char *ifa_name; /* Name of this network interface. */
unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
struct sockaddr *ifa_addr; /* Network address of this interface. */
struct sockaddr *ifa_netmask; /* Netmask of this interface. */
// ...
};