Doxygen1.4.1

本文介绍了使用doxygen从源码生成标准化代码文档的方法。它能生成类结构、类图等信息,使用简单,只需维护配置文件。还介绍了注释方法、注释标记,以及不同平台版本,详细说明了配置文件中常用配置项,按此可生成不错的代码文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       使用doxygen可以从源码中生成标准化的代码文档,包括注释、类结构、类图、类继承关系和函数间的交叉引用关系等信息。 这使得我们只需维护好源码,就可以随时获得最新的代码级的文档(区别于游戏逻辑流程文档)。
       doxygen的使用很简单,只要维护好一份配置文件,就可以生成多种格式的文档,比如html,rtf等,命令行输入doxygen config-file。我们所要做的就是在平时按照doxygen所要求得格式书写注释,可谓是一劳永逸:)
 注释方法简单介绍:
 doxygen的注释风格标准可以选择Qt和JavaDoc风格,我建议使用Qt风格,毕竟是C++的注释。
 注释风格如下:
 /*!
  对函数或类的说明在这里书写
  可以对函数的参数做如下说明:
  /param a a的说明
  /param b b的说明
  也可对返回值进行说明
  /return 各种返回值的说明
 */

 后面是要注释的代码(通常是类或函数)
 
 对于类中的成员变量,如上书写的话可能会使得代码不够直观和整齐,可使用/*!<comments*/来进行注释。
 例如:
 /*!
  A类的详细说明
 */
 class A{
 public:
  int b; /*!< b的说明 */
 private:
  int a; /*!< a的说明 */
 };
 
 可以对某个文件进行说明:/*! /file filename 说明文字*/
 
 被注释过的内容才被认为是文档化过的,无论文件还是数据成员。

 
 另外,在注释块中可以书写html标记进行格式化。
 
 由上可见,使用doxygen并不需要我们做额外的工作来的得到这些令人激动的文档,对于具有良好注释书写习惯的
 程序员来讲几乎是无代价的。
 
 有了以上的基础,我们就可以书写注释,用以生成文档。
 
 另外,doxygen提供了一些注释中的标记来帮助我们管理代码和生成更丰富的文档,比如:
 /todo   要做的事
 /bug    此处代码有缺陷
 doxygen会在最终的文档中列出相应项目的列表,一目了然。
 
 类似的标记还有很多,大家可以查阅doxygen的文档。这些标记可以组合成很有用的东东,生成更为丰富的文档。
 大家以后可以相互分享一下使用doxygen的经验和小技巧。
 
 关于版本:
  cygwin下的doxygen最新版本为1.2.18。
  我下载了windows版的doxygen,最新版本为1.4.1,之所以选择在win32平台下,是因为可以使用ATT的Dot工具来
  配合doxygen生成更为专业的类图。
  
  大家需要安装doxygen和Graphviz(包含Dot工具)
  
 doxygen使用的配置文件:
 可以用doxygen -g filename来生成默认的配置文件,然后我们在此基础上进行修改来适应需要。
 配置文件结构虽然复杂,但其实要改的配置项不是很多,我通读了配置文件,把我们经常要修改的配置选项说明如下:
 
  PROJECT_NAME  工程的名字,显示在文档的首页。
  PROJECT_NUMBER  工程版本号,可对应于svn-version。
  OUTPUT_DIRECTORY 文档输出路径。
  OUTPUT_LANGUAGE  文档的语言,默认为English。虽然相应的专有名词也变成了中文,但为了方便显示
     中文注释,还是建议使用Chinese。
     
  TAB_SIZE  TAB的长度,按各自喜好修改。默认为8。
  
  EXTRACT_ALL  设置为YES。由于我们的代码最初没有按照doxygen格式书写,所以都是没有文档化的。
     如果为NO,,则只对文档化过的文件和数据成员生成文档。默认为NO。
  EXTRACT_PRIVATE  设置为YES,对私有成员也生成文档。默认为NO。
  EXTRACT_STATIC  设置为YES,对静态变量也生成文档。默认为NO。
  
  FILE_PATTERNS  要生成文档的文件类型。我们设置值为 *.cpp and *.h。
  RECURSIVE  对指定目录的子目录中的文件也生成文档。
  EXCLUDE   要出去的目录和文件。我们设置为.svn。
  
  SOURCE_BROWSER  设置为YES,可显示代码的交叉引用关系。默认为NO。
  ALPHABETICAL_INDEX      设置为YES,可生成所有组合类型的字母表索引。默认为NO。
  COLS_IN_ALPHA_INDEX 字母索引表分几列显示,[1,20]。默认为5
  
  GENERATE_LATEX  生成LateX类型文件,默认为YES。
  
  INCLUDE_PATH  除制定目录外的头文件路径。
  PREDEFINED  可定义预处理宏,于gcc -D类似。
  
  HAVE_DOT  如装了Graphviz可设置为YES,将会生成更好的类图。
  TEMPLATE_RELATIONS      设置为YES,可显示模版和其实例的继承、组合关系图。默认为NO。
  UML_LOOK  以UML标准格式生成类继承和组合图。
  DOT_PATH  Dot工具的目录,如包括在path环境变量中,不用指定。
  
 基本的配置信息就如上所示,生成的文档约丰富,运行所需的时间就越长,可酌情配置。
 我也只是对配置大概了解,具体的需要还是要仔细看doxygen的文档:P
 
 按照我所述的内容,就可以生成一份看得过去的文档了。
 附件为一个使用doxygen的简单示例,包括了代码文件、配置文件,以及最终的文档。大家可以看看效果。
 
 希望大家都能喜欢上doxygen,自觉书写规范注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值