【问题标题】:pthread library manual and Is section 2 or section 7 of my Linux manual for POSIX API?pthread 库手册和我的 POSIX API 的 Linux 手册的第 2 节还是第 7 节?
【发布时间】:2015-05-29 03:06:25
【问题描述】:
  1. 我当前的 Linux 是 Ubuntu 14,但我在上面找不到 pthread 手册。我可以在手册页(第 3 节)上找到 pthread_create,但找不到 pthread_cond_tpthread_mutex_t。我假设 pthread 是 POSIX 的一部分,所以它不应该是我的 Linux 手册的一部分吗?如果没有,我该如何找到它?

  2. 我正在使用 POSIX 进行套接字编程。但是,我的手册页的第 2 节和第 7 节都有 socket() 函数。我只能找到第 2 部分用于系统调用,而第 7 部分用于“杂项”。 inet_pton() 在手册页的第 3 节中。我的问题:在哪里可以找到 POSIX 手册的手册?如果你能解释一下手册页的哪些部分包含 POSIX 函数。

【问题讨论】:

  • 确保你在做man pthreads。也就是说,末尾有一个“s”。
  • pthread_cond_tpthread_mutex_t类型,手册页通常涵盖接口(函数),而不是类型。试试man pthread_mutex_lock 或类似的。
  • 您不会找到类型的手册页条目;只有命令和函数。
  • 那些是 pthread 不透明类型。除了将它们传递给 pthread 函数之外,您无法对它们做任何事情。因此,除了注意哪些函数返回它们以及哪些函数将它们作为输入之外,无需记录这些内容 - 这在 pthread 函数手册页中提供。
  • POSIX 函数调用将主要在第 2 节和第 3 节中。有些可能位于特殊的小节中(如 3S 或 3C 或更详细的名称)。

标签: c linux sockets network-programming posix


【解决方案1】:

在 Debian 及其衍生版本中,POSIX 手册页包含在 manpages-posix-dev 软件包中,安装后,1posix 部分将包含命令手册页,3posix 将包含 API 调用手册页。 POSIX 标头的手册页应位于 0posix 部分,但此部分不可用。

在 Red Hat 及其衍生产品中,POSIX 手册页位于 man-pages 包中,可通过 0p1p3p 部分访问。

【讨论】:

    【解决方案2】:

    原答案

    在我的 Ubuntu 14.04 LTS(虚拟机)上,man pthread_create 列表:

    PTHREAD_CREATE(3)          Linux Programmer's Manual         PTHREAD_CREATE(3)
    

    名字

      pthread_create - create a new thread
    

    概要

      #include <pthread.h>
    
      int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                         void *(*start_routine) (void *), void *arg);
    

    使用 -pthread 编译和链接。

    它在手册的“第 3 部分”中列出,而不是“第 2 部分”。

    修改后的答案

    问题已更新为可以找到pthread_create()

    通常,您不会在手册中找到使用 man pthread_mutex_t 的类型条目。您可能会改为使用apropos pthread_mutex_t 获取信息(但这对我没有帮助)。

    POSIX pthreads 库函数将记录在手册的第 2 节或第 3 节中。尽管man pthreads 在第 7 节中向我展示了一个广泛的条目,但手册中可能没有特殊的“pthreads”部分。

    在哪里可以找到 POSIX 手册的手册?

    手册中没有单独的 POSIX 部分。许多手册页涵盖了 POSIX 功能。有些仅涵盖 POSIX 功能;许多还涵盖了 POSIX 功能的 GNU 扩展。

    第 2、3、7 节中的任何部分都可以包含有关 POSIX 函数的信息。第 1 节将包含一些关于 POSIX 命令的信息(以及很多关于非 POSIX 命令的信息)。第 4 节是关于设备的;第 5 节是关于文件格式的;第 6 节包含有关游戏的信息——这些信息通常不是 POSIX 定义的。第 8 节倾向于用于系统管理命令;它们也不是由 POSIX 定义的。

    【讨论】:

    • 是手册页第 2 节还是第 7 节中的 POSIX socket() 函数调用?谢谢。
    • socket() 函数在第 2 节中;第 7 节是对整个套接字 API 的更一般性论述,与 pthread_create 类似,该函数在第 3 节中专门记录,但 pthread 一般在第 7 节中讨论。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多