doxygen
[功能]
为许多种语言编写的程序生成文档的工具。
[举例]
*生成一个模板配置文件,模板文件中有详细的注释:
$doxgen -g test
这样,会生成一个test文件,1500多行,可以把这个文件做为模板编写配置文件。如果之前有test那么会将原来的test备份为test.bak.模板文件的部分内容如下:
...前面的内容省略...
DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME =
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY =
...后面的内容省略...
*生成一个模板配置文件,模板文件中只有简单的注释:
$doxygen -s -g test
这里,我尝试并且比较过,如果使用生成的文件只200多行,几乎没有注释,只有几行分类的注释,去除了多余的注释。
*用当前版本的doxygen更新使用旧版本doxygen生成的配置文件:
$doxygen -u test
这里,配置文件是test.这个命令我没有实践过,在/usr/share/doc/doxygen的doxygen_manual.pdf文档的Doxygen usage节说:如果配置文件是旧版本的doxygen生成的,则需要用当前版本的doxygen对这个配置文件进行更新。
*使用test文件里的配置,生成源代码的文档:
$doxygen test
这里,假设test就在当前目录,在test里面已经配置指定了源文件的位置,以及生成文档的位置等。为简单起见,列出一些重要的配置选项,其他的参见具体生成的配置模板,配置文件中部分选项取值如下:
############配置文件的部分内容#############
#给出所有文档的输出目录
OUTPUT_DIRECTORY = doc
#设置使用的语言
OUTPUT_LANGUAGE = Chinese
#生成chm格式的压缩html文档
GENERATE_HTMLHELP = YES
#生成latex文档
GENERATE_LATEX = YES
#生成rtf文档
GENERATE_RTF = YES
#指定doxygen分析的输入文件(目录)
INPUT = src lib
#指定分析的文件的类型(扩展名)
INCLUDE_FILE_PATTERNS = *.cpp *.h
#递归查找INPUT中的文件
RECURSIVE = YES
#处理完一个函数的文档之后,对函数调用的函数也列出相关的链接。
REFERENCES_RELATION = YES
#INCLUDE_PATH = #这个不需要改
[描述]
doxygen可以为c,c++,java等语言写的程序生成文档(从程序的源代码中提取其中按照约定格式写的注释中提取信息)。查看doxygen的man手册,翻译如下:
许多使用doxygen的方法:
1)使用doxygen生成一个配置文件的模板:
doxygen [-s] -g [configName]
如果configName是'-'那么doxygen将会把结果写到标准输出。
2)使用doxygen更新旧的配置文件:
doxygen [-s] -u [configName]
3)根据已经存在的配置文件,使用doxygen生成文档:
doxygen [configName]
如果configName是'-'那么doxygen将会从标准输入读取配置信息。
4)使用doxygen生成RTF,HTML,或者Latex风格的模板文件??:
RTF格式:doxygen -w rtf styleSheetFile
HTML格式:doxygen -w html headerFile footerFile styleSheetFile [configFile]
LaTex格式:doxygen -w latex headerFile styleSheetFile [configFile]
5)使用doxygen生成rtf扩展文件??
RTF格式:doxygen -e rtf extensionsFile
如果指定了-s那么配置文件中的注释将会被忽略。如果配置名被忽略了,那么'Doxy-file'将被做为默认的文件使用。
安装doxygen-doc会获得如何使用doxygen的更多信息(即$sudo apt-get install doxygen-doc)。可以查看/usr/share/doc/doxygen.
[其他]
*安装doxygen
===============================
$sudo apt-get install doxygen
这样会安装上doxygen。
*doxygen配置文件
===============================
doxygen根据配置文件中指定的选项生成相应配置的文档。doxygen配置文件的格式是也是通常的unix下配置文件的格式:注释'#'开始;tag = value [,value2…];对于多值的情况可以使用 tag += value [,value2…]。
对doxygen的配置文件的修改分为两类:一种就是输出选项,控制如何解释源代码、如何输出;一种就是项目相关的信息,比如项目名称、源代码目录、输出文档目录等。对于第一种设置好后,通常所有项目可以共用一份配置,而后一种是每个项目必须设置的。下面选择重要的,有可能需要修改的选项进行解释说明,其他选项在配置文件都有详细解释。
TAG 缺省值 含义
PROJECT_NAME 项目名称
PROJECT_NUMBER 可以理解为版本信息
OUTPUT_DIRECTORY 输出文件到的目录,相对目录(doxygen运行目录)或者绝对目录
INPUT 代码文件或者代码所在目录,使用空格分割
FILE_PATTERNS *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *