В чем разница между несколькими man-страницами одной команды?

Я начал изучать программирование сокетов для 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))?

5

Решение

Страницы руководства организованы в разделы, каждый раздел имеет свою тему. Проверьте man-страницу для manпопробуйте запустить man man, он перечисляет все доступные разделы:

  1. Исполняемые программы или команды оболочки
  2. Системные вызовы (функции, предоставляемые ядром)
  3. Библиотечные вызовы (функции внутри программных библиотек)
  4. Специальные файлы (обычно находятся в / dev)
  5. Форматы файлов и соглашения, например / etc / passwd
  6. Игры
  7. Разное (включая макропакеты и соглашения), например мужчина (7), groff (7)
  8. Команды системного администрирования (обычно только для root)
  9. Подпрограммы ядра [нестандартные]

Для socket Например, «socket (2)» — это системный вызов, предоставляемый ядром операционной системы, «socket (3)» — это интерфейс POSIX, предоставляемый библиотекой, «socket (7)» — это общие документы по теме «сокет». Вы можете видеть, что все три имеют разное содержание.

10

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]