Я начал изучать программирование сокетов для C / C ++ и изучал справочные страницы для таких функций, как bind, listen и т. Д.
В то время как я перемещался между страницами man, я заметил, что есть ситуации, когда есть несколько страниц man для одного и того же системного вызова, например разъем()
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 для одного и того же системного вызова и что означает число между разделами (сокет (2), сокет (3p), сокет (7))?
Страницы руководства организованы в разделы, каждый раздел имеет свою тему. Проверьте man-страницу для man
попробуйте запустить man man
, он перечисляет все доступные разделы:
Для socket
Например, «socket (2)» — это системный вызов, предоставляемый ядром операционной системы, «socket (3)» — это интерфейс POSIX, предоставляемый библиотекой, «socket (7)» — это общие документы по теме «сокет». Вы можете видеть, что все три имеют разное содержание.
Других решений пока нет …