1、安装
yum -y install doxygen*
2、使用
(1)在工程目录下输入doxygen -s -g doxyconfig,其中doxyconfig为生成配置的文件名称,可任意指定,如果不指定,默认生成的配置文件为Doxyfile。
(2)配置文件
DOXYFILE_ENCODING = UTF-8,默认编码为UTF-8,这样可以支持中文。
PROJECT_NAME = “xxxx”,项目名称,多个单词需要使用引号(“”)。
PROJECT_NUMBER = “1.0 beta”,项目版本号。
OUTPUT_DIRECTORY = Doc,输出文档的目录,如果为空,表示在当前目录,建议写上表示本工程的有意义的目录名称。
OUTPUT_LANGUAGE = English,文档语言,可以指定为Chinese。
IMAGE_PATH = image_dir,指定图片存放的目录,我们将图片放到当前目录下的image_dir目录中,因为我们的文档会出现测试图片示例。
HTML_OUTPUT= . ,html输出目录名称,默认为html目录,如果为“.”则表明为上述OUTPUT_DIRECTORY目录。
GENERATE_LATEX = NO,是否生成LaTeX,默认生成的,但我们不想生成。
3、参考注释风格
/**
* @file BinaryHeap.hpp
* @brief 二叉堆
*
* @author xiao2 joyjj0218@qq.com
* @version 1.0
* @date 2015.11.17
*/
#ifndef BINARYHEAP_HPP_
#define BINARYHEAP_HPP_
#include <vector>
#include <algorithm>
using namespace std;
/**
* @brief 算法
*/
namespace algorithm
{
/**
* @brief 二叉堆
*/
template <typename comparable>
class BinaryHeap
{
public:
explicit BinaryHeap(vector<comparable> &item) :
m_vecArray(item), m_iSize(m_vecArray.size())
{
}
public:
void BuildHeap(int current_size)
{
for(int i = current_size / 2 - 1 ; i >= 0; i--)
PercolateDown(i, current_size);
}
void HeapSort()
{
for(int i = m_iSize; i > 0; i--) {
BuildHeap(i);
swap(m_vecArray[0], m_vecArray[i-1]);
}
}
private:
/**
* @brief 渗透下沉
* @param[in] current 当前下沉位置
* @param[in] current_size 当前下沉序列大小
* @return void.
*/
void PercolateDown(int current, int current_size)
{
int parent;
int child;
parent = current;
comparable temp = m_vecArray[current];
for( ; (2 * parent + 1) < current_size; ) {
child = 2 * parent + 1;
if(child < current_size - 1 && m_vecArray[child+1] < m_vecArray[child])
child++;
if(m_vecArray[child] < temp) {
m_vecArray[parent] = m_vecArray[child];
parent = child;
} else {
break;
}
}
m_vecArray[parent] = temp;
}
private:
vector<comparable> &m_vecArray; ///< 输入vector数组的引用
int m_iSize; ///< vector数组的大小
};
}
#endif // BINARYHEAP_HPP_
yum -y install doxygen*
2、使用
(1)在工程目录下输入doxygen -s -g doxyconfig,其中doxyconfig为生成配置的文件名称,可任意指定,如果不指定,默认生成的配置文件为Doxyfile。
(2)配置文件
DOXYFILE_ENCODING = UTF-8,默认编码为UTF-8,这样可以支持中文。
PROJECT_NAME = “xxxx”,项目名称,多个单词需要使用引号(“”)。
PROJECT_NUMBER = “1.0 beta”,项目版本号。
OUTPUT_DIRECTORY = Doc,输出文档的目录,如果为空,表示在当前目录,建议写上表示本工程的有意义的目录名称。
OUTPUT_LANGUAGE = English,文档语言,可以指定为Chinese。
IMAGE_PATH = image_dir,指定图片存放的目录,我们将图片放到当前目录下的image_dir目录中,因为我们的文档会出现测试图片示例。
HTML_OUTPUT= . ,html输出目录名称,默认为html目录,如果为“.”则表明为上述OUTPUT_DIRECTORY目录。
GENERATE_LATEX = NO,是否生成LaTeX,默认生成的,但我们不想生成。
INPUT = xxx,代码文件或目录,多个文件(目录)需要以空格隔开,如果不指定,表示当前目录,但是,如果指定目录且当前目录有代码文件的话,需要使用点号(“.”).表示当前目录。
FILE_PATTERNS = *.c *.cpp *.h *.hpp,指定各种文件,我们常用为*.cpp *.c *.h,等等。
EXTRACT_PRIVATE = YES,显示类的私有成员变量和函数。
(3)生成文档 doxygen3、参考注释风格
/**
* @file BinaryHeap.hpp
* @brief 二叉堆
*
* @author xiao2 joyjj0218@qq.com
* @version 1.0
* @date 2015.11.17
*/
#ifndef BINARYHEAP_HPP_
#define BINARYHEAP_HPP_
#include <vector>
#include <algorithm>
using namespace std;
/**
* @brief 算法
*/
namespace algorithm
{
/**
* @brief 二叉堆
*/
template <typename comparable>
class BinaryHeap
{
public:
explicit BinaryHeap(vector<comparable> &item) :
m_vecArray(item), m_iSize(m_vecArray.size())
{
}
public:
void BuildHeap(int current_size)
{
for(int i = current_size / 2 - 1 ; i >= 0; i--)
PercolateDown(i, current_size);
}
void HeapSort()
{
for(int i = m_iSize; i > 0; i--) {
BuildHeap(i);
swap(m_vecArray[0], m_vecArray[i-1]);
}
}
private:
/**
* @brief 渗透下沉
* @param[in] current 当前下沉位置
* @param[in] current_size 当前下沉序列大小
* @return void.
*/
void PercolateDown(int current, int current_size)
{
int parent;
int child;
parent = current;
comparable temp = m_vecArray[current];
for( ; (2 * parent + 1) < current_size; ) {
child = 2 * parent + 1;
if(child < current_size - 1 && m_vecArray[child+1] < m_vecArray[child])
child++;
if(m_vecArray[child] < temp) {
m_vecArray[parent] = m_vecArray[child];
parent = child;
} else {
break;
}
}
m_vecArray[parent] = temp;
}
private:
vector<comparable> &m_vecArray; ///< 输入vector数组的引用
int m_iSize; ///< vector数组的大小
};
}
#endif // BINARYHEAP_HPP_