如何制作内核第 9 节手册页来记录函数、数据结构和头文件?

如何制作内核第 9 节手册页来记录函数、数据结构和头文件?

内核来源包含功能数据结构已记录在案,例如panic.c:

/**
 *  panic - halt the system
 *  @fmt: The text string to print
 *
 *  Display a message, then perform cleanups.
 *
 *  This function never returns.
 */
void panic(const char *fmt, ...)

与其每次都查看源代码,不如将这些 API 视为联机帮助页并利用现有的文档框架。


你如何安装/制作内核第 9 节联机帮助页( /usr/share/man/man9) 上述函数和数据结构哪个文档?

答案1

内容是直接解析(也可以看看) 来自来源.c 文件1

为了提供嵌入式、“C”友好、易于维护、一致且可提取的 Linux 内核中函数和数据结构的文档,Linux 内核采用了一致的风格来记录函数及其参数、结构及其参数。成员。

该文档的格式称为 kernel-doc 格式。它记录在此 Documentation/kernel-doc-nano-HOWTO.txt 文件中。

这种风格使用一些简单的约定将文档嵌入到源文件中。 scripts/kernel-doc perl 脚本、Documentation/DocBook 中的一些 SGML 模板以及其他工具了解这些约定,并用于将这种嵌入文档提取到各种文档中。 [...]

开头注释标记“/**”是为内核文档注释保留的。内核文档脚本只会考虑如此标记的注释,并且任何如此标记的注释都必须采用内核文档格式。

这意味着只有这样的格式化注释才能以这种方式提取,并且您可以利用kernel-doc 珀尔进程使用的脚本make

kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
  [ -no-doc-sections ]
  [ -function funcname [ -function funcname ...] ]
  c file(s)s > outputfile

因此您不限于曼多克斯 目标:

安装后,“make psdocs”、“make pdfdocs”、“make htmldocs”或“make mandocs”将以请求的格式呈现文档。

还有特定于驱动程序的文本文件在内核存储库/源中。更一般地说,他们的Linux 手册页项目男人1通过男人8) 是可用的供下载。最后一点,kernel.org 还维护了一些输出文档。


1. 内核并不是使用这种技术来生成联机帮助页的唯一情况。 GNU核心工具另一种情况就是这样;它的大部分联机帮助页是生成的command --help使用其内容的输出用法运行实用程序源文件(1 2)。

答案2

假设你使用的是 Ubuntu,

apt-get install linux-manual-3.2

或类似的(选择正确的版本)。还有另一个文档包

apt-get install linux-doc

但这是html。

答案3

下载内核源代码并在源目录中执行

make mandocs

man文件制作完成后,执行

make installmandocs

这会将手册页安装到/usr/local/man/man9/.现在,您可以通过键入 查看手册页man <api-name>,或者如果您正在编辑,vim只需按KAPI 名称即可。

相关内容