用doxygen为C/C++程序自动生成文档《1、简介及安装》

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。
- F  r- ^( Q$ E6 @3 I1 h9 b/ x一、doxygen 简介+ `4 ?8 w: |$ D  |4 C8 s6 f
简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。
# U( u8 r* X, q( a官方网站:http://www.stack.nl/~dimitri/doxygen/index.html
/ c- _1 U3 Q: N9 @, Z 它可以从三个方面帮助我们:
0 ]2 z) f8 F# N4 A  X1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。7 ^! ]/ \' o0 O2 g
b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。0 x6 W% N  b% e) [9 M& n3 X
c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。" d* h+ _! i4 H
2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。- ^. u( w- a3 W1 _# A" C
a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。
, e/ v, k' [+ ^) I) E b、Graphviz下载地址 http://www.graphviz.org/Download..php# b" ^$ T$ P6 ]  v  K+ g) w6 s
3、 甚至可以“滥用”来创建普通文档。
/ ~6 N9 P0 U! Z; \) M0 yhttp://www.graphviz.org/Download..php
9 Q/ o9 a  p0 Y二、Doxygen协议
% z1 g* g0 h5 X, k! I1 E  N5 i Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。9 C- s9 D! t( i9 p$ d6 ~; c
三、 Doxygen的文档、FAQ、使用者和相关文章  w* N7 @% X7 Y. w) u
a、http://www.stack.nl/~dimitri/doxygen/manual.html
: Z9 p6 y, v1 g0 @2 d+ ?b、http://www.stack.nl/~dimitri/doxygen/faq.html
) A+ V1 Z( O/ D% g7 d7 r6 a, Uc、http://www.stack.nl/~dimitri/doxygen/projects.html: u) a+ h; w1 u! C/ p
d、http://www.stack.nl/~dimitri/doxygen/articles.html
" I: A! A& I3 V- E: n四、使用Doxygen的一般步骤7 d) O" G9 |; e+ F+ x8 p2 y; _
a、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc  p3 P8 P( T4 k  t
b、下载 Graphviz http://www.graphviz.org/Download..php
( j1 P6 M+ R1 t& q" }: c: p# Lc、安装 Doxygen 和 Graphviz(可选)
2 n7 {/ D; h! y; j) E, R9 B  ]d、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。: `: {5 r9 m7 y) o
e、按照Doxygen规则给源代码添加注释,将代码文档化7 z' q3 R6 [. V# O$ C
f) 运行Doxygen 产生和源代码对应的文档。
3 H/ ^: k& T+ g五、安装doxygen
( t0 b- P7 @- E. {* @. \6 ~a、Win下的安装
$ x4 U0 n8 p+ S4 `3 {( S, r i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了
4 L- k& b1 b- {8 W& x" R9 X ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)
# I2 `8 D# X0 M+ t) v( Y( t- J; Ub、在Unix兼容系统上采用编译源码方式安装 Doxygen7 N; S; e" T5 K3 T7 l
i. 采用源码安装 Doxygen 要确认你的系统安装有:: \! B0 H$ z! K. h! S$ v
1. flex, bison 和 make等GNU工具
4 \- @. t& V, H# { 2. Perl# [1 p6 k7 h  V$ K
3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等3 E( }, y9 j. ]4 C. M
4. 为了使用Doxygen的高级功能,还需要安装以下附件工具, z- D, k: F/ ?5 A9 k' I
a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard! p: c; b$ L2 i! f5 Z. q& Q
b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。
; b, |2 U5 N- K8 e c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。
; }5 }& |2 }8 b" c: C4 o' i1 }. ` d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到
9 R  P2 z6 Z3 h! q7 `8 h e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.
; D# b2 @* L4 d1 Y ii. 解压下载的Doxygen源码包
5 e  j- }3 u; k! n7 k2 `# @ 1. tar xf doxygen-$VERSION.src.tar ' p8 F$ w- ?+ Z6 Q9 B
2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile
. V( K3 k. y6 x$ w5 n a、可以configure --platform platform-type自定平台类型  r$ M6 q& e! C9 I1 U
b、configure --with-doxywizard 可以图形前端doxywizard8 w* g4 \' K8 ]7 c# v
c、更多信息可以通过configure –help查看,并给定相应的配置
+ e2 D9 ^- A+ v9 [: {3 a% u4 ]' r iii. 编译Doxygen7 U; |. K- Z; A) t: J) W( q) ~
1. make
; ?* q3 q) }: C8 R4 ~ iv. 可选的产生手册9 X8 ^5 L6 q6 V* w0 O" `  K
1. make docs
: \% p( c- w! X& k' A 2. make pdf9 a  |  j, \! y- L2 l: D1 M+ j
v. 安装 Doxygen: v! D2 @. e0 ]
1. make install (需要root用户权限)( a: S0 ?. W  z, a
vi. 已知的问题
5 a# F8 Z7 @) z 1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:
9 V) H; A( [% y. Q mkdir qt
4 |$ A& I7 R' i: p1 R- J: V6 k" v. F cd qt & P3 f/ @' o" m6 r- C& q9 s
ln -s your-qt-include-dir-here include
* ]8 }3 S: o+ J$ G9 @: f ln -s your-qt-lib-dir-here lib
( d3 e$ D) ]. e# h5 r$ b2 F export QTDIR=$PWD
  h* c" v7 J+ ^; [( i 2. bison 问题0 t1 ]. _9 J/ d% z1 l0 b
a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本
% u; P! c. M" c0 m( U! u 3. Latex问题+ S6 M$ ?$ ]0 V+ {$ n4 d( o
4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助
# J% |0 T7 Y+ H8 i3 t3 `c、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:, L) q! P3 t# F! w2 M  J
i. apt-get install doxygen doxygen-doc doxygen-gui graphivz
  a  j5 a3 m$ L1 h7 fd、其他安装细节请参考 http://www.stack.nl/~dimitri/doxygen/install.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图