Answers:
图书馆的手册页将在第3节中介绍。
对于良好的手册页示例,请记住,其中一些页面是使用groff的特定详细信息和/或使用并非真正可移植的特定宏编写的。
手册页的可移植性总是存在一些陷阱,因为某些系统可能(也可能不)使用特殊功能。例如,在记录文档时dialog
,我必须牢记(和变通)各种系统中显示示例(没有理由)的差异。
首先阅读有关man man
标准宏的相关章节,然后比较 FreeBSD和Linux的描述。
您是选择为库编写一个手册页,还是为功能(或功能组)编写单独的手册页,取决于功能描述的复杂程度:
进一步阅读:
我用罗恩。您只需编写markdown,它将变成手册页。还有一个js克隆(标记能力稍差)。
我一直在通过使用END_MAN
定界的Heredocs和它的C / C ++代码来记录我的脚本,而在C内使用相同的END_MAN
定界的Heredocs /* */
。可以很容易地用sed将其提取出来,然后渲染成联机帮助页。(通过一点点UNIX信号黑客以及inotifywait,您可以实时提取和查看您的手册页部分,并在源更新时重新加载手册页浏览器。)
对于本节,对于用户级C库,则为3。您可以在man(1)中阅读有关节号的信息。
如果你想看到一些可读性强,结构良好的范例手册页,我想看看在的Plan9 https://swtch.com/plan9port/unix/库在这里你可以看到的非常创造者c
,并UNIX
和它的文档系统可能打算让这些东西正常工作。
为了补充其他答案,可以用来简化编写手册页的另一种markdown语言是reStructuredText和rst2man命令,它是python-docutils软件包的一部分。
这种markdown语言已被python用作其文档,并且比rst2man会从reStructuredText为您生成的旧的troff man宏更易于学习,编写和维护。
您可以使用doxygen记录API,以提供HTML形式的引用,还可以生成手册页和其他格式以供离线阅读。
doxygen的优点在于它是一种“内联”文档,例如JavaDoc或PythonDoc,是接口注释的两倍(或vv。是文档文本的注释的两倍);您可以将文档文本添加到源文件/头文件中,然后从中提取文件文本,从而提高了保持最新状态的可能性。
man
除了标准库和系统调用外,我从不用于编程。