我开始寻找一种从源代码生成手册页的方法.我现在有Doxygen设置,它生成了很棒的HTML页面,这些页面有组织,有用,等等.
但是......看起来Doxygen糟透了所创造的体面或可用的手册页.从更多谷歌搜索来看,在使用Doxygen生成手册页时,似乎可能是普遍的共识.这是真的吗,还是有一个页面/提示解释了如何让Doxygen在手册页上做得更好?
我在GitHub上找到了一个项目 - doxy2man - 它似乎专门用于将Doxygen xml输出文件重新按压到手册页中,但我很想知道Doxygen本身是否可以被强制做得更好.
我正在使用的Doxygen选项(没有很多)用于手册页:
$ grep MAN Doxyfile | grep -v "#"
GENERATE_MAN = YES
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = YES
Run Code Online (Sandbox Code Playgroud) 我正在使用Ubuntu,并且已经安装了libstdc ++ 6-4.7-doc.
但它似乎man只适用于类,例如
$ man std::vector
$ man std::istream
Run Code Online (Sandbox Code Playgroud)
有效,但是
$ man std::find
Run Code Online (Sandbox Code Playgroud)
没有用,有什么想法吗?
提前致谢!
改性:
安装libstdc ++后??? - doc
我们可以使用file:///usr/share/doc/gcc-4.7-base/libstdc++/html/index.html来访问文档.
除了C/C++开发包之外,我在安装cygwin时安装了cygwin-doc软件包.当我运行'man memset'时,我按预期获得了手册页,但是运行man进行系统调用,如lstat和pipe返回投诉"No manual entry".这些手册页是否在我需要安装的单独软件包中提供?感谢帮助.
我正在尝试在Mac OS X 10.9.5上安装bash脚本的手册页.我尝试遵循的过程总结如下:手册页教程.我还总结了下面尝试的步骤:
cp custom_command.1 /usr/local/man/man1/custom_command.1
gzip /usr/local/man/man1/custom_command.1
Run Code Online (Sandbox Code Playgroud)
在尝试时man custom_command我收到输出No manual entry for custom_command.我还尝试了手册页教程中提到的其他安装方法.
有趣的是,上面的步骤适用于emacs控制台,即当我输入man custom_command时,我确实得到了正确的手册.但是,自动完成功能无法识别该命令,我在阅读本手册之前收到以下警告:WARNING: terminal is not fully functional.
任何有关如何解决上述问题的建议(即使用系统终端和emacs控制台)都将受到赞赏.
备注1
作为参考,我试图安装的man脚本是从教程中获取的,并在下面重述以供参考:
.\" Manpage for nuseradd.
.\" Contact vivek@nixcraft.net.in to correct errors or typos.
.TH man 8 "06 May 2010" "1.0" "nuseradd man page"
.SH NAME
nuseradd \- create a new LDAP user
.SH SYNOPSIS
nuseradd [USERNAME]
.SH DESCRIPTION
nuseradd is high level shell program …Run Code Online (Sandbox Code Playgroud) 手册页exit说,
stdio流都被刷新并关闭.创建的文件 tmpfile已删除.exitie的参数EXIT_SUCCESS和EXIT_FAILURE(或非UNIX环境)比使用0和一些非零值(如1或-1)更具可移植性.特别是,VMS使用不同的约定.手册页fcloseall说,
stdin,stdout以及stderr也将被关闭.fcloseall函数不会锁定流,因此它不是线程安全的.许多在线教程都说,解除分配给定类型的"所有"资源是编程错误.它们应该由拥有它们的代码单独解除分配,或者根本不需要.
那么使用它exit代替fcloseall好吗?
我不知何故丢失了gcc和g ++的手册页.我不确定在哪里/找什么.我很确定这些人工页面曾经使用过.它也可以在我的Mac上工作,我使用大致相同的设置.这可能是酿造的问题吗?或者它是XCode命令行工具中的错误?
更新:我刚刚尝试重新安装XCode命令行工具.没运气.
~
? man gcc
No manual entry for gcc
~
? which gcc
/usr/bin/gcc
~
? gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud) char s1[] = "0";
char s2[] = "9";
printf("%d\n", strcmp(s1, s2)); // Prints -9
printf("%d\n", strcmp("0", "9")); // Prints -1
Run Code Online (Sandbox Code Playgroud)
为什么strcmp在收到相同参数时会返回不同的值?
这些值仍然合法,因为strcmp的手册页说strcmp的返回值可以小于,大于或等于0,但我不明白为什么它们在这个例子中是不同的.
我无法man在Alpine Linux Docker容器中工作.
拉高山Linux并启动一个容器.
docker pull alpine:latest
docker run -t -i alpine /bin/ash
Run Code Online (Sandbox Code Playgroud)
从所有远程存储库更新存储库索引.
apk update
Run Code Online (Sandbox Code Playgroud)
安装man和man-pages.
apk add man man-pages
Run Code Online (Sandbox Code Playgroud)
安装包及其文档.
apk add curl
apk add curl-doc
Run Code Online (Sandbox Code Playgroud)
尝试查看手册页.
/ # man curl
/usr/share/man/mandoc.db: No such file or directory
man: outdated mandoc.db lacks curl(1) entry,
consider running # makewhatis /usr/share/man
more: -s: No such file or directory
/ #
Run Code Online (Sandbox Code Playgroud)
什么?
更新
按照@EugenMayer的建议添加mdicml-apropos,我可以开始curl --manual工作但不是man curl.不幸的是,gnupg --manual根本不起作用.此行为不一致且意外.
我想知道下面命令在bash中做了什么.
我可以使用set的其他选项是什么,它们是什么意思.
我正在寻找有关-X选项的信息curl.但是,文档很长,我必须向下滚动很长时间才能找到这个选项.相反,我想做点什么
man curl | grep -X
Run Code Online (Sandbox Code Playgroud)
获取包含"-X"的行.(我也会-A 10在匹配后获得10行的选项).但是,如果我尝试这个,我会得到
grep: option requires an argument -- 'X'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Run Code Online (Sandbox Code Playgroud)
关于如何使用任何想法grep一起man,或更一般如何搜索特定线路手册页?