我开始学习C/C++的套接字编程,并检查手册页中的bind,listen等函数.
当我在手册页之间导航时,我注意到存在同一系统调用有多个手册页的情况,例如插座()
http://man7.org/linux/man-pages/man2/socket.2.html
http://man7.org/linux/man-pages/man3/socket.3p.html
http://man7.org/linux/man-pages/man7/socket.7.html
在这些手册中,我的linux盒子里出现的是第一个(socket(2)).
我注意到带有3p后缀的标题为“POSIX程序员手册”,其余两个标题为“Linux程序员手册”.函数原型和用法是相同的(据我所知).
我的问题是:同一系统调用的两个不同版本的Linux程序员手册的目的是什么,并且paranthesis意味着什么(socket(2),socket(3p),socket(7))?
最佳答案
手册页按部分组织,每个部分都有自己的主题.查看man的manpage,试试man man man,它列出了所有可用的部分:
>可执行程序或shell命令
>系统调用(内核提供的功能)
>库调用(程序库中的函数)
>特殊文件(通常在/ dev中找到)
>文件格式和约定,例如/ etc / passwd
>游戏
>杂项(包括宏包和约定),例如男人(7),groff(7)
>系统管理命令(通常仅用于root)
>内核例程[非标准]
对于套接字示例,“socket(2)”是操作系统内核提供的系统调用,“socket(3)”是库提供的POSIX接口,“socket(7)”是关于该主题的一般文档套接字.你可以看到这三者都有不同的内容.