【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 2337|回复: 1

Doxygen 简单的使用说明

[复制链接]
发表于 2009-7-2 15:04:42 | 显示全部楼层 |阅读模式
1.doxygen的安装
svn co https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk doxygen-svn
cd doxygen-svn
./configure
make
make install
2.doxygen的使用
doxygen -g 生成doxygen配置文件
doxygen -g Project_nl 生成名为Projetct_nl的配置文件
doxygen <配置文件名> 运行doxygen生成html 文档
3.doxygen配置文件常用选项
项目名                  PROJECT_NAME
项目版本号             PROJECT_NUMBER
输入路径               INPUT =
输出路径               OUTPUT_DIRECTORY =
输出语言               OUTPUT_LANGUAGE
提取信息标志          EXTRACT_ALL
源代码嵌套标志        RECURSIVE =
输入编码方式         INPUT_ENCODING =
文档尾部页面         HTML_FOOTER =
4.组模版
/** @defgroup ABC 模块A
*       @ingroup main
*       @par 模块A
*       @verbatim   verbatim:一个文件块,支持HTML和LATEX文件档
  说明文字.
@endverbatim
*      @{
*/
这里是 在这个Group下的其它定义说明

/** @} */ // 模块A
5.函数模版
/**
*    @fn int OpenFile(const char* file_name, const char* file_mode)
*    @ingroup ABC        
*
这里是函数说明
* @param file_mode 文件打开模式字符串,可以由以下几个模块组合而成:
* - r 读取
* - w 可写   
参数说明
* - a 添加
* - t 文本模式(不能与 b 联用)
* - b 二进制模式(不能与 t 联用)
* @return 返回文件编号
* - -1 表示打开文件失败
返回值 具体的定义也可以用retval来定义如
* @retval -1 表示打开文件失败
* @note 文件打开成功后,必须使用 ::CloseFile 函数关闭
* @par 示例:
* @code
// 用文本只读方式打开文件
int f = OpenFile(”d:\\test.txt”, “rt”);

* @endcode
* @see ::ReadFile ::WriteFile ::CloseFile
* @deprecated 由于特殊的原因,这个函数可能会在将来的版本中取消。
*/
int OpenFile(const char* file_name, const char* file_mode)
6.doxygen常见问题
Q:输出中文乱码
A:修改输入编码方式         INPUT_ENCODING = GB2312
Q:输出html字体太小
A:修改html文件夹下的doxygen.cs
body, table, div, p, dl {
        font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
      
font-size: 14px;
}
7.doxygen参考资料
   很多有价值的参考手册和资料
 楼主| 发表于 2009-7-2 15:06:06 | 显示全部楼层

C++ 程序文档生成器介绍(doxygen)

http://ly4cn.cnblogs.com/archive/2005/11/23/282637.html

程序文档,曾经是程序员的一个头痛问题。写一个程序文档,比较花时间,但不是很难;麻烦的是当程序修改后,程序文档也要跟着同步更新,否则文档和程序就要脱节,文档也就变成没用的东西了。

好在有许多好用的文档生成器来解决这个问题。目前比较流行的C++文档生成器是doxygen。
本文就简单的介绍一下doxygen的文档注释方法,以供初学者参考:

C++ 程序文档生成器介绍(doxygen)     沐枫网志

1. 模块定义(单独显示一页)
/*
* @defgroup 模块名 模块的说明文字
* @{
*/
... 定义的内容 ...
/** @} */ // 模块结尾
2. 分组定义(在一页内分组显示)
/*
* @name 分组说明文字
* @{
*/
... 定义的内容 ...
/** @} */
3. 变量、宏定义、类型定义简要说明
/** 简要说明文字 */
#define FLOAT float
/** @brief 简要说明文字(在前面加 @brief 是标准格式) */
#define MIN_UINT 0
/*
* 分行的简要说明 \n
*   这是第二行的简要说明
*/
int b;
4. 函数说明
/*
* 简要的函数说明文字
*   @param [in] param1 参数1说明
*   @param [out] param2 参数2说明
*   @return 返回值说明
*/
int func(int param1, int param2);
/*
* 打开文件 \n
*   文件打开成功后,必须使用 ::CloseFile 函数关闭。
*   @param[in] file_name 文件名字符串
*   @param[in] file_mode 文件打开模式字符串,可以由以下几个模块组合而成:
*   - r 读取
*   - w 可写
*   - a 添加
*   - t 文本模式(不能与 b 联用)
*   - b 二进制模式(不能与 t 联用)
*   @return 返回文件编号
*   - -1 表示打开文件失败
*   @note 文件打开成功后,必须使用 ::CloseFile 函数关闭
*   @par 示例:
*   @code
     // 用文本只读方式打开文件
     int f = OpenFile("d:\\test.txt", "rt");
*   @endcode
*   @see ::ReadFile ::WriteFile ::CloseFile
*   @deprecated 由于特殊的原因,这个函数可能会在将来的版本中取消。
*/
int OpenFile(const char* file_name, const char* file_mode);
5. 枚举类型定义
/** 枚举常量 */
typedef enum TDayOfWeek
{
SUN = 0, /**< 星期天(注意,要以 “<” 小于号开头) */
MON = 1, /**< 星期一 */
TUE = 2, /**< 星期二 */
WED = 3, /**< 星期三 */
THU = 4, /**< 星期四 */
FRI = 5, /**< 星期五 */
SAT = 6  /**< 星期六 */
}
/** 定义类型 TEnumDayOfWeek */
TEnumDayOfWeek;  
  
6. 项目符号标记
/*
   * A list of events:
   *    - mouse events
   *         -# mouse move event
   *         -# mouse click event\n
   *            More info about the click event.
   *         -# mouse double click event
   *    - keyboard events
   *         -# key down event
   *         -# key up event
   *
   * More text here.
   */

结果为:

A list of events:

  • mouse events
    1. mouse move event
    2. mouse click event
      More info about the click event.
    3. mouse double click event
  • keyboard events
    1. key down event
    2. key up event

More text here.

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

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 09:59

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表