![如何制作内核第 9 节手册页来记录函数、数据结构和头文件?](https://linux22.com/image/41163/%E5%A6%82%E4%BD%95%E5%88%B6%E4%BD%9C%E5%86%85%E6%A0%B8%E7%AC%AC%209%20%E8%8A%82%E6%89%8B%E5%86%8C%E9%A1%B5%E6%9D%A5%E8%AE%B0%E5%BD%95%E5%87%BD%E6%95%B0%E3%80%81%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E5%A4%B4%E6%96%87%E4%BB%B6%EF%BC%9F.png)
/**
* 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”友好、易于维护、一致且可提取的 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 名称即可。