我在Linux系统中使用过socket()的手册页,我想知道它所记录的功能属于什么。
例如,函数int socket(int domain, int type, int protocol)
。函数是glibc的一部分吗?它是否以某种方式直接成为Linux内核的一部分?该手册的标题为《Linux程序员手册》。
我希望得到一个解释和澄清。
经过我的一点研究:
的C POSIX library
,这是C标准库POSIX
系统,包含了许多附加功能的那些的ANSI C
标准,大多是在处理与操作系统对于一些极其用途(多线程的实现,网络(包括任何类型的通信(IPC为例) )),用户权限管理等)
该GNU/Linux
操作系统,例如,与兼容POSIX
,因此glibc
正在实施C POSIX library standard
(POSIX
libc
),它包含所有的附加功能和标题与它们的Linux实现使用Linux的系统调用。
在我们的案例中,Linux的开发人员手册页中介绍的套接字文档属于加利福尼亚大学伯克利分校(通常是这种形式的套接字和现代网络的开发者)。由于POSIX已“采用”了伯克利的套接字,并且已将标头包含sys/socket.h
在其C标准库中,因此GNU/Linux
系统可以在称为C的C标准库中实现该标头glibc
。
因此,该套接字的文档实际上记录了glibc
与POSIX的套接字功能完全兼容的功能,而POSIX的套接字功能与Berkeley的兼容。
非常感谢那些提供帮助的人!
顺便说一句:欢迎任何其他答案。