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

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。
, M$ ~) o! g& \4 U4 m' h! G( y0 }一、doxygen 简介* f/ I% |8 \$ r/ F  z8 c; o$ Z& e
简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。
9 T. B, Q% Q  t* S( b, p$ z官方网站:http://www.stack.nl/~dimitri/doxygen/index.html% f$ r5 |; C/ c0 N! g. s7 b
它可以从三个方面帮助我们:+ s4 {- L' f- ^, t/ ?/ [; K
1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。5 e/ v" X4 ^3 ], U7 b
b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。
( y+ l( D: e6 i7 v! A' ]$ `( I+ }& l c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。
- o, @. O/ a2 x5 d/ c% b! t2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。& `" C% c6 t/ f
a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。
  q. {, `- o3 _1 G% w b、Graphviz下载地址 http://www.graphviz.org/Download..php
8 \: V& z( V. Y6 h, {3 V3、 甚至可以“滥用”来创建普通文档。
+ a$ M) Z9 ?- Q; X, ~http://www.graphviz.org/Download..php4 `, O: O% j# I* p
二、Doxygen协议9 W( r  s( u, _! F3 Z8 M
Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。! ]/ p, I% @9 I: |9 D' Y) S9 a
三、 Doxygen的文档、FAQ、使用者和相关文章
$ x# l3 }% u0 O8 B) ^a、http://www.stack.nl/~dimitri/doxygen/manual.html6 Y- W# q2 G, _' j5 U
b、http://www.stack.nl/~dimitri/doxygen/faq.html4 H/ s& X' y# s( z4 U& W
c、http://www.stack.nl/~dimitri/doxygen/projects.html9 b! {8 f) c( }& j, [
d、http://www.stack.nl/~dimitri/doxygen/articles.html' ?2 B* J; S& H
四、使用Doxygen的一般步骤
$ w! M- I0 C1 v1 D0 ?* ~: U( U" ka、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
9 a! ~5 o) B1 U7 y% d" A* Gb、下载 Graphviz http://www.graphviz.org/Download..php
2 b" j  ~: Q4 E  o3 V7 Oc、安装 Doxygen 和 Graphviz(可选)
9 T$ [4 c7 S2 `( Y  D& t5 p5 Td、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。7 b% }8 X& x2 m( M
e、按照Doxygen规则给源代码添加注释,将代码文档化
8 ~2 V0 B& b; ~% T$ q1 U) if) 运行Doxygen 产生和源代码对应的文档。- }7 b6 _) H4 [6 e; L
五、安装doxygen- P/ X7 l1 w! H# B& _- n  f1 [
a、Win下的安装" x- u0 J. {- y0 I" I4 q8 R
i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了
, r5 _' ]7 {+ W* c1 d ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)
' b5 ]3 J: O% \+ r6 X3 d5 }b、在Unix兼容系统上采用编译源码方式安装 Doxygen& C; A" d3 t) F$ O
i. 采用源码安装 Doxygen 要确认你的系统安装有:
5 q( k" A$ |& r, d; X 1. flex, bison 和 make等GNU工具
9 Y! h, L3 e: _+ b% v" P1 a% {7 P 2. Perl
9 I5 t0 H+ W! o% g6 y# a& I! q, l% O 3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等
& o2 w' c  V" d' y' J& s" _; I 4. 为了使用Doxygen的高级功能,还需要安装以下附件工具" P' p3 u8 c- J% a" g* B0 g' n
a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard5 `4 x9 Z$ q1 Y5 B0 b
b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。
' Q' h; u  A$ L+ _ c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。
$ a3 Y* f) q3 e# o3 M5 O0 g d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到
, Y. E+ `; J& S' V0 ^, u6 Q& g e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.
4 w4 k' c& K$ p ii. 解压下载的Doxygen源码包- L; e8 d  n5 h2 N6 O! R4 q
1. tar xf doxygen-$VERSION.src.tar
: D: R# G5 a, b4 f$ H. Q  ~ 2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile
8 g% I$ d$ E6 O) ]6 |+ u  e a、可以configure --platform platform-type自定平台类型1 S1 I, ?# v  Y) A' i. r: t$ Z
b、configure --with-doxywizard 可以图形前端doxywizard3 `0 c8 z1 j5 i4 r8 z3 U
c、更多信息可以通过configure –help查看,并给定相应的配置' x2 D' V" ]; [) m& ]1 ~9 A; Z6 l6 x
iii. 编译Doxygen
# F* W, v5 c+ T* O( W: m1 H. q 1. make; s) N) K& H& ]+ k. M0 z
iv. 可选的产生手册2 O! H2 m+ N" P/ d4 T
1. make docs
% [- ~4 r# Q9 ]" L- E 2. make pdf
1 \4 v' d: P  Y v. 安装 Doxygen. A5 ~4 z7 a4 e6 q, z. G
1. make install (需要root用户权限): z: f( D: y# z0 m, g
vi. 已知的问题
* i" P- [: u$ d" K4 Z4 H 1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:  D- [/ ^% E, u' a3 B- i* B
mkdir qt
; U, S' B3 }, Y5 U! M2 G cd qt
6 a) d9 T' h, S* H7 L+ N' j ln -s your-qt-include-dir-here include % c- F% N9 Z5 d! ~+ \
ln -s your-qt-lib-dir-here lib / @# k% |8 g2 q7 x3 ^
export QTDIR=$PWD
; P5 `8 ^, I( \2 ]$ Q. V8 I 2. bison 问题
! A7 ?  B. A$ _3 \( q: r; r a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本
& Q6 y- x( u4 B7 x+ z/ V" p4 h( r 3. Latex问题
4 h% Y2 d3 O/ p, a; Q. E( r: ` 4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助
1 D/ g, m3 ]7 ]$ Ac、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:- o! l2 |3 c1 ?5 b
i. apt-get install doxygen doxygen-doc doxygen-gui graphivz
% a2 R7 f# r' R8 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.|网站地图