doxgen可用于通过 C/C++ 代码自动生成文档,并且可采用HTML Help WorkShop将生成的文档转换为chm格式
但是在使用其生成chm文档时总是会出现中文乱码解决方法如下:
- Doxgen配置
- 选择Wizard ---> Html ----> prepare for compressed HTML 并钩选 With search function
- 选择Expert ---> Project ---> DOXYFILE_ENCODING,输入 UTF-8
- 选择Expert ---> Project ---> OUTPUT_LANGUAGE,选择 Chinese
- 选择Expert ---> Input ---> INPUT_ENCODING,输入 GBK
- 选择Expert ---> HTML ---> CHM_INDEX_ENCODING,输入 GBK (我使用doxgen版本为1.8.2,版本较低时该选项可能不支持)
- 使用HTML Help Workshop生成chm文件
- 文件 ---> 打开 选择工作目录下的 hhp文件(通常情况下为 index.hhp并且位于doxgen设置的工作目录的html目录下)
- 选择文件 ---> 编译, 即可在同一工作目录下生成与hhp文件同名的 chm文件
- Doxgen注释示例
- 文件注释
-
/** * \file PQDataSyncInterface.h * * \brief 电能质量上位机用基于ActiveSync的数据同步接口 * * \history * Date: 2012.10.12 * 1. 定义Demo接口 V1.0.X.X * * Date: 2012.10.16 * 1. 确定接口 V2.0.X.X */
- 结构体、枚举和类注释
/** * \brief 记录名最大长度 */
- 结构体成员和枚举成员注释
/** * \brief 数据同步模块错误码 */ typedef enum { PQDS_ERR_NONE = 0, PQDS_ERR_DEVICE_NOTCONNECT, /**< 设备未连接 */ PQDS_ERR_NOEXIT_DEVICE_RECORD, /**< 设备上不存在指定记录 */ PQDS_ERR_OPEN_DEVICE_RECORD, /**< 打开设备记录出错 */ PQDS_ERR_CREATE_PC_RECORD, /**< 创建PC记录出错 */ PQDS_ERR_COPY_RECORD_DATA, /**< 拷贝记录数据出错 */ }PQDS_ErrCode;
- 函数注释(如需文字在chm文件中换行显示,需在行尾添加<br>)
/** * \brief 获取设备记录列表 * \param[in] pRecordList 保存记录列表的缓存 * \param[in] nMax 缓存可保存记录的最大数量 * \return 成功 - 返回记录个数<br> * 失败 - 返回-1 */ PQDS_DLL_API int PQDS_GetDeviceRecordList( PQDS_Record *pRecordList, const int nMax);