DOXYGEN简明实用教程

本文档主要适用于UbuntuKylin15.04.

Doxygen(http://www.doxygen.nl/download.html)可以自动根据代码创建文档,是一个非常好的工具,可以支持很多种语言,快速生成类、文件、注释等一体的文档,能够输出html/latex等多种文档格式。

一、安装

获取最新版本,可以使用下面的脚本进行安装。

#需要BISON和FLEX支持。
sudo apt-get install FLEX BISON
git clone https://github.com/doxygen/doxygen.git
cd doxygen
make
sudo make install

或者直接安装:

#这个是生成类图的工具,需要预先安装。
sudo apt-get install graphviz
sudo apt-get install doxygen

二、使用流程

先创建一个控制文档的模版文件:

doxygen -g doc.dot

进去修改输入、输出路径、各种参数。里面有详细的注释,一看就明白。

gedit doc.dot

生成最终的文档,将输出到文档中制定的OUTPUT_PATH目录位置。

doxygen doc.dot

三、使用经验和参数说明

一些经验,谨供参考:

-----------------------------------------------------------------------------------

1.所有注释都可以使用///开始(C++风格)。
2.类体前必须加上///描述,否则会产生警告【Compound 类名 is not documented】
  描述中最好不要带有此类的类名,否则会产生两个链接(但指向同一个文件)影响美观。
3.public和protected会自动生成,但是private要在Expert的Build选项里勾中EXTRACT_PRIVATE,static成员也是如此。
4.函数注释方式

   /// Constructor【函数描述】
    /// @param [in] pos       The position of Camera in world coordinate         【参数描述1】
    /// @param  [in] lookat    The point Camera looks at in world coordinate    【参数描述2】
   /// BaseCamera( const D3DXVECTOR3& pos, const D3DXVECTOR3& lookat );

5.变量注释方式
    D3DXVECTOR3 m_Position;    /*!< Camera position point in world coordinate */   或
    D3DXVECTOR3 m_Position;    ///< Camera position point in world coordinate
两种方式产生的结果不同。前者会单独产生一块Member Data Documentation注释,后者会在Pubilc/Protected/Private Attributes变量描述后紧跟注释。
[email protected]参数和\参数相同
7.产生描述顺序和注释顺序相同,一般风格为:

   /// 函数描述
    /// 
@param
      参数描述
    /// 
@return
      返回值描述
    /// @retval     返回值1     返回值1描述
    /// @retval     返回值2     返回值2描述
    /// @remarks     注意事项
    /// @note    注意事项,功能同@remarks,显示字样不同
    /// @par    自定义图块,后面可跟示例代码之类
    /// @code(必须使用@endcode结束)
    /// 示例代码(无需缩进)    
    /// @endcode
    /// @see     其他参考项【产生指向参考的链接】
    ///函数代码声明

8.特殊符号
    /// -        产生一个黑色圆点
9.定义在类体里面的enum

 /// Camera types
    enum CAMERA_TYPE
    {
        CAMERA_FIRST_VIEW,/*!< Camera that looks from the first view */
        CAMERA_MODEL_VIEW,///< Camera that looks from the third view
    };

两种风格相同。
以下开始的项都是全局非类内定义,在文件最开始(我尝试是在include之前) 必须加上【/// \file 文件名】,否则不会生成注释【没有File Member页】。
10. 定义在文件里面的宏
     #define CAMERA_TYPE_NUMBER     ///< The number of camera types.       或
     #define CAMERA_TYPE_NUMBER     /*!< The number of camera types. */
    风格说明见5。
11. 非类内enum定义同10.        两种风格相同。见9。
12. 非类内typedef定义同10.     风格说明见5。

时间: 2024-11-15 06:24:40

DOXYGEN简明实用教程的相关文章

简明 Python 教程:总结

 简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容都是注释 3. Python至少应当有第一行那样的特殊形式的注释.它被称作组织行——源文件的头两个字符是#!,后面跟着一个程序.这行告诉你的Linux/Unix系统当你执行你的程序的时候,它应该运行哪个解释器. #!/usr/bin/python 4. Linux/Unix用户适用:chmod命令用来改变文件

学习笔记之Java程序设计实用教程

Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了多线程,休假花了两天时间把整本书学完了.

简明Python教程笔记(二)----用户交互raw_input()

raw_input() python内建函数 将所有输入看做字符串,返回字符串类型 input()对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float ) input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数 例子: #!/usr/bin/env pythonthis_year = 2014name = raw_input('please input your name:')age1 =

简明Python教程笔记(一)

#!/usr/bin/env python#Filename : helloworld.py#The use of 'and"  print 'hello,world!'print "hello,world!" #The use of '''and"""print '''This is a multi-line string. This is the first line.This is the second line."What's

iOS Core Animation 简明系列教程

iOS Core Animation 简明系列教程  看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快修改. 1.什么是Core Animation? 它是一套包含图形绘制,投影,动画的OC类集合.它就是一个framework.通过CoreAnimation提供的接口,你可以方便完成自己所想要的动画. 2.我眼中的Core Animation? 动画和拍电影一样,而我们就如同导演一样,全权负责这场

ArchLinux简明安装教程

ArchLinux是一个十分优秀的发行版,定制性极高,同时不像Gentoo那样花那么多时间编译.安装ArchLinux无疑是对 Linux发行版架构的一次熟悉和学习.目前,网上的相关教程基本已经过期,同时官方wiki上对于相关软件的搭配也没有仔细的描述. 按照本文的步骤做,最终你将得到一个KDE环境的ArchLinux.不过我并没有配置打印机,具体请大家wiki cups. 安装可以分为三大部分: 基本系统的安装 驱动安装 桌面环境的安装 1.基本系统的安装 硬盘分区 mount /dev/sd

【转帖】简明 Python 教程

简明 Python 教程   下一页 简明 Python 教程 Swaroop, C. H. 著 沈洁元  译 版本:1.20 A Byte of Python Copyright © 2003-2005 Swaroop C H 简明 Python 教程 <简明 Python 教程>为 "A Byte of Python" 的唯一指定简体中文译本,版权 © 2005 沈洁元 本书依照 创作公用约定(署名-非派生作品-非商业用途) 发布. 概要 无论您刚接触电脑还是一个有经验

简明 Python 教程中的第一个备份脚本

第一次学习python写的脚本 原为简明 Python 教程中的第一个脚本 原脚本如下 #!/usr/bin/python # Filename: backup_ver1.py import os import time # 1. The files and directories to be backed up are specified in a list. source = ['/home/swaroop/byte', '/home/swaroop/bin'] # If you are u

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('