用Doxygen进行可自动文档化的代码注释,可从代码中提取注释生成帮助文档。
在使用Doxygen时将需要安装下列软件:
1、安装Doxygen1.4.7,建议安装在“D:\Program Files\doxygen”
2、安装Graphviz-2.13,用于Doxygen生成类图、关系图等图形,建议安装在D:\Program Files\ATT。
3、安装HtmlHelp1.3,用于生成CHM帮助文件,如果已安装了HtmlHelp其他版本则跳过。
下面对三种常见形式举例。
A. 文件头注释,\file, \brief
B. 类/结构体等的定义注释,先写名称,再写概要说明
C. 函数定义说明,先写名称,再写概要说明,然后写参数说明、返回值、注意事项、参见链接等
在函数定义中常用的有(1)参数 param(2)返回值 return (3)参见 see(4)注意项 note等
参数可指定in/out,例如@param[out] dest、@param[in,out] buffer
D. 成员变量的注释,如果注释写在变量右边,则加“<”,例如//!< ……
更深层次的标记请查看Doxygen帮助中的“Documenting the code”,Doxygen用法后面演示说明。
//! \file Ix_Observer.h A. 文件头注释,用于在帮助文件中列出文件列表
//! \brief 定义出版者和观察者的接口Ix_Subject、Ix_Observer
#pragma once
struct Ix_Subject;
struct Ix_Observer;
//! 出版者的接口 B. 类/结构体等的定义注释
/*! 出版者就是将要被观察的对象
\interface Ix_Subject
*/
struct Ix_Subject
{
//! 添加观察者 C. 函数定义注释
/*!
\param observer 要添加的观察者
\see Ix_Observer
*/
virtual void Attach(Ix_Observer* observer) = 0;
//! 去掉观察者
/*!
\param observer 要去掉的观察者
\see Ix_Observer
*/
virtual bool Detach(Ix_Observer* observer) = 0;
//! 改变时通知所有观察者
/*!
\param data 通知参数,可为NULL
*/
virtual void Notify(void* data) = 0;
};
//! 二维点结构
struct POINT2D
{
double x; //!< X坐标分量 D. 枚举/结构体/类的成员变量注视
double y; //!< Y坐标分量 在定义项右边时加“<”,在其上面一行则不加
};
//! 观察者的接口
/*! \interface Ix_Observer
*/
struct Ix_Observer
{
//! 改变的通知
/*!
\param data 通知参数
\param subject 发布改变通知的出版者,其他其他其他其他
其他其他其他其他其他其他其他其他其他
*/
virtual void Update(void* data, const Ix_Subject* subject) = 0;
};