Doxygen心得

Doxygen心得
Doxygen心得

AFEPack安装过程——qixinbo

安装AFEPack软件包,需要提前安好的软件有gcc、g++、doxygen、automake(1.11版本)、dx、emacs、vim。 第一步: 我会有一个用户名,比如为qixinbo。在home/qixinbo下建立files,include,lib 三个目录。其中include目录是用于存放程序编译时调用的.h头文件,lib目录是用于存放动态链接库.so文件 然后将 boost_1_37_0.tar.bz2, deal.nodoc-6.3.1.tar.gz, AFEPack-snapshot.tar.gz, easymesh.c.gz 四个文件放在files里。 第二步: 安装boost头文件。将boost_1_37_0.tar.bz2解压到files里,即运行tar jxvf boost_1_37_0.tar.bz2命令。解压后会得到一个boost_1_37_0目录,该目录下有一个boost目录,将该目录拷贝到include文件夹里,即 cp –r boost /home/qixinbo/include 第三步: 安装deal.II。 注:个人建议不要下载太高版本,过高版本可能会报Point歧义,原因是由于部分版本deal.II修改了底层网格的一些架构。现deal.II 7.0.0及之前版本已测试可以使用。 (1) 将deal.nodoc-6.3.1.tar.gz解压到files里,即运行tar zxvf deal.nodoc-6.3.1.tar.gz 命令。解压后会得到一个deal.II目录。进入该目录,运行 ./configure 如果configure通过,就运行 make base lac 在configure过程如果出现提示不存在doxygen,表示它没有被安装在系统里面,请在网上google搜索下载,把这个安装上。 (2) 进入/home/qixinbo/include文件夹,链接头文件。即运行 ln –sf /home/qixinbo/files/deal.II/base/include/base . ln –sf /home/qixinbo/files/deal.II/lac/include/lac . ln –sf /home/qixinbo/files/deal.II/contrib/tbb/tbb22_20090809oss/include/tbb . 请注意最后一个点前面有一个空格。 (3)进入/home/qixinbo/lib文件夹,链接库文件。即运行 ln –sf /home/qixinbo/files/deal.II/lib/lib* . 请注意最后一个点前面有一个空格。 这三步做完以后应该在/home/qixinbo/include目录下存在deal.II 的头文件lac、

doxygen配置说明

?ABBREVIATE_BRIEF //简短摘要 ?ALIASES //别名 ?ALLEXTERNALS //所有外部文档 ?ALPHABETICAL_INDEX //字母顺序索引 ?ALWAYS_DETAILED_SEC //详细描述部分 ?BINARY_TOC //二进制操作 ?BRIEF_MEMBER_DESC //简短的成员描述 ?CALL_GRAPH //调用到的图 ?CASE_SENSE_NAMES //检测的范例的名字 ?CHM_FILE //CHM格式文件 ?CLASS_DIAGRAMS //类-表 ?CLASS_GRAPH //类-图 ?COLLABORATION_GRAPH //相互调用关系图 ?COLS_IN_ALPHA_INDEX //以列形式显示的字母顺序的索引?COMPACT_LATEX //压缩的LATEX文档 ?COMPACT_R TF //压缩的RTF文档 ?CREATE_SUBDIRS //创建一个"子目录"

?DETAILS_AT_TOP //文档的详细头部 ?DIRECTORY_GRAPH //目录图 ?DISABLE_INDEX //禁用INDEX ?DISTRIBUTE_GROUP_DOC //禁用文档成组显示 ?DOT_IMAGE_FORMAT //点阵图形 ?DOT_MULTI_TARGETS //多个DOT目标 ?DOT_PATH //DOT路径设置 ?DOT_TRANSPARENT //DOT转换设置 ?DOTFILE_DIRS //DOTFILE 列表显示 ?ENABLE_PREPROCESSING //允许"预处理"指令 ?ENUM_VALUES_PER_LINE //每行的枚举值 ?ENABLED_SECTIONS //允许分段显示 ?EXAMPLE_PATH //例子路径 ?EXAMPLE_PATTERNS //例子用的文件格式(*.cpp, *.h , *.java等)?EXAMPLE_RECURSIVE //例子递归 ?EXCLUDE //可执行文件 ?EXCLUDE_PATTERNS //可执行文件格式(*.exe, *.dll等)

程序编码规范

蜗牛游戏程序编码规范 (版本 0.1) 规范说明:............................................................. 一、命名规则...................................................... 二、程序的版式.................................................... 三、注释.......................................................... 四、服务端平台无关................................................ 五、服务端表格操作................................................ 六、客户端文件读写................................................ 七、客户端内存操作................................................ 八、脚本内的注释.................................................. 规范说明: 制定该规范的目的是让程序清晰易懂、易维护、易管理。该规范为强制规范,必须执行,如果有没涉及的地方请参考《高质量C++-C编程指南》。当所在编程环境(如MFC、Linux)与本规范有差异时,可以使用所在编程环境的规范,但是同一个项目必须是统一的规范。 最后希望大家都能养成一个良好的程序习惯,一个好的习惯受益终身! 一、命名规则 1.所有命名应当直观且可拼读,并具有实际意义; 2.类名和函数名用大写字母开头的单词组合而成,接口类名以I开头; 3.常量全用大写的字母,用下划线分割单词,尽量不要使用宏; 4.类的数据成员加前缀m_,全局变量加前缀g_,静态变量加前缀s_; 5.变量名第一个字母小写,使用“名词”或“形容词+名词”的词义表示法; 示例: ·局部变量 char *pStringBuffer; int &stringFindResult; bool isEngineStartup; ·函数命名 unsigned int GetVoyageCoreState(); static bool GetVoyageServiceCount(int &count); ·结构类型

doxygen 解析支持的标签规范

doxygen 解析支持的标签规范 目录 1. 1. 2. 3. 4. 5. 6. 2. 3. dox 常用命令 dox 文献信息 dox 状态信息 dox 模块信息 dox 函式信息 dox 提醒信息 dox 关联信息 dox 标签格式 dox 注释风格
6. dox 常用命令
讲述基本的常用标签命令
6.1. dox 文献信息
@author ... 作者 @brief ... @file ... 摘要 文件声明
6.2. dox 状态信息
@version ... 版本推荐使用$Id$ @todo ... 改进,可以指定针对的版本
6.3. dox 模块信息
@var ... 模块变量 说明 @typedef ... 模块变量类型说明
6.4. dox 函式信息
@param p ... 参数 p 说明 @arg ... 列表说明参数 信息
@return ... 返回值说明

@retval ... 返回值类型说明
6.5. dox 提醒信息
@note ... 注解 @attention ... 注意 @bug ... @warning ... 问题 警告
6.6. dox 关联信息
@sa ... 参考资料
7. dox 标签格式
约定文档化标签的语法
? ?
epydoc 支持两种标签的语法! doxygen: \tag 内容...
?
Javadoc: @tag 内容...
?
为了简化学习,在新浪标准化开发中我们推荐统一使用
@tag: 内容... 格式
8. dox 注释风格
约定文档化标签放置
? ?
依照 C/C++ JAVA 类别语言注释风格自然的进行 /**

C 注释规范

C++注释规范 版本:1.0 制定部门:技术架构部C++基础架构组 2006.8

目录 1说明 (3) 2注释种类 (3) 2.1重复代码 (3) 2.2解释代码 (3) 2.3代码标记 (3) 2.4概述代码 (3) 2.5代码意图说明 (4) 2.6传达代码无法表达的信息 (4) 3注释原则 (4) 3.1站在读者的立场编写注释 (4) 3.2注释无法取代良好的编程风格 (4) 3.3好注释能在更高抽象层次上解释我们想干什么 (5) 4规范细则 (5) 4.1文件注释规范 (5) 4.2名字空间注释规范 (6) 4.3类定义注释规范 (7) 4.4数据声明注释规范 (8) 4.5函数注释规范 (8) 4.6代码标记注释规范 (10) 5FAQ (10) 5.1枚举值需要注释吗? (10) 5.2前置条件、后置条件和不变式有必要注释出来吗? (10) 5.3写注释太耗时间怎么办? (11) 5.4有效的注释是指什么? (11) 参考书目 (11) 参考工具 (11)

1说明 本文档用于规范C++代码中注释的编写。规范中提出的多数注释格式都来源于文档生成工具doxygen,所以遵从本规范进行注释的C++代码都可以使用doxygen生成美观一致的代码文档。 同时另一方面,美观绝非衡量文档质量的唯一标准。文档内容准确与否,是否充分,以及语言组织是否清晰流畅,这些都是决定一份文档质量的重要标准。遗憾的是,这些标准当中有不少需要通过主观加以判断,很难进行明确的规范。 所以我们将尽可能的提供明确的评判标准,同时,本规范中也不可避免的提出了一些比较主观的注释要求或是建议,这些要求或是建议多数都来自于众多先驱多年的开发经验。遵循它们不仅有助于生成一份美观的代码文档。更重要,依照这些要求和建议来编写注释,能够有效的帮助开发者在早期就反省自己设计的合理性,同时也为编写单元测试提供更多的帮助。 2注释种类 2.1重复代码 重复性注释只是用不同文字把代码的工作又描述一次。他除了给读者增加阅读量外,没有提供更多信息。 2.2解释代码 解释性注释通常用于解释复杂、敏感的代码块。在这些场合他们能派上用场,但通常正是因为代码含混不清,才体现出这类注释的价值。如果代码过于复杂而需要解释,最好是改进代码,而不是添加注释。使代码清晰后再使用概述性注释或者意图性注释。 2.3代码标记 标记性注释并非有意留在代码中,他提醒开发者某处的工作未做完。在实际工作中,我们经常会使用这些注释作为程序骨架的占位符,或是已知bug的标记。 2.4概述代码 概述性注释是这么做的:将若干代码行的意思以一两句话说出来。这种注释比重复性注释强多了,因为读者读注释能比读代码更快。概述性注释对于要修改你代码的其他人来说尤

注释要求

一、注释体例及标注位置 文献引证方式采用注释体例。 注释放置于当页下(脚注)。注释序号用①,②,③……标识,每页单独排序。正文中的注释序号统一置于包含引文的句子(有时候也可能是词或词组)或段落标点符号之后。 二、注释的标注格式 (一)非连续出版物 1.著作 标注顺序:责任者与责任方式/文献题名/出版地点/出版者/出版时间/页码。 责任方式为著时,“著”可省略,其他责任方式不可省略。 引用翻译著作时,将译者作为第二责任者置于文献题名之后。 引用《马克思恩格斯全集》、《列宁全集》等经典著作应使用最新版本。 示例: 赵景深:《文坛忆旧》,北新书局,1948,第43页。 谢兴尧整理《荣庆日记》,西北大学出版社,1986,第175页。 蒋大兴:《公司法的展开与评判——方法·判例·制度》,法律出版社,2001,第3页。 任继愈主编《中国哲学发展史(先秦卷)》,人民出版社,1983,第25页。 实藤惠秀:《中国人留学日本史》,谭汝谦、林启彦译,香港中文大学出版社,1982,第11-12页。 金冲及主编《周恩来传》,人民出版社、中央文献出版社,1989,第9页。 佚名:《晚清洋务运动事类汇钞五十七种》上册,全国图书馆文献缩微复制中心,1998,第56页。 狄葆贤:《平等阁笔记》,有正书局,出版时间不详,第8页。 《马克思恩格斯全集》第31卷,人民出版社,1998,第46页。 2.析出文献

标注顺序:责任者/析出文献题名/文集责任者与责任方式/文集题名/出版地点/出版者/出版时间/页码。 文集责任者与析出文献责任者相同时,可省去文集责任者。 示例: 杜威·佛克马:《走向新世界主义》,王宁、薛晓源编《全球化与后殖民批评》,中央编译出版社,1999,第247-266页。 鲁迅:《中国小说的历史的变迁》,《鲁迅全集》第9册,人民文学出版社,1981,第325页。 唐振常:《师承与变法》,《识史集》,上海古籍出版社,1997,第65页。 3.著作、文集的序言、引论、前言、后记 (1)序言、前言作者与著作、文集责任者相同。 示例: 李鹏程:《当代文化哲学沉思》,人民出版社,1994,“序言”,第1页。 (2)序言有单独的标题,可作为析出文献来标注。 示例: 楼适夷:《读家书,想傅雷(代序)》,傅敏编《傅雷家书(增补本)》,三联书店,1988,第2页。 黄仁宇:《为什么称为“中国大历史”?——中文版自序》,《中国大历史》,三联书店,1997,第2页。 (3)责任者层次关系复杂时,可以通过叙述表明对序言的引证。为了表述紧凑和语气连贯,责任者与文献题名之间的冒号可省去,出版信息可括注起来。 示例: 见戴逸为北京市宣武区档案馆编、王灿炽纂《北京安徽会馆志稿》(北京燕山出版社,2001)所作的序,第2页。 4.古籍 (1)刻本 标注顺序:责任者与责任方式/文献题名(卷次、篇名、部类)(选项)/版本、页码。 部类名及篇名用书名号表示,其中不同层次可用中圆点隔开,原序号仍用汉字数字,下同。页码应注明a、b面。

cocos2d-x_Win32_Android_环境配置手册

COCOS2D-X配置手册(Win32、Android) 编制:刘勤熙李育 完成日期:2012-1-19

目录 1. 引言 (3) 2. cocos2d-x Win32环境配置 (3) 2.1 win32开发环境配置 (3) 2.1.1 Visual Studio 2008 (3) 2.1.2 cocos2d-x (3) 2.1.3 (可选)Visual Assist X (3) 2.1.4 (可选)doxygen (4) 2.2 Win32 可执行文件生成过程 (5) 2.3 常见问题总汇 (7) 3 cocos2d-x Android 环境配置 (8) 3.1 android开发环境配置 (8) 3.1.1 Eclipse 3.7.1 (8) 3.1.2 Eclipse ADT插件 (8) 3.1.3 Eclipse CDT插件 (10) 3.1.4 AndroidSDK (12) 3.1.5 AndroidNDK (13) 3.1.6 Cygwin (13) 3.2 Android可执行文件生成过程 (15) 3.2.1 前期准备 (15) 3.2.2 生成Android空工程 (15) 3.2.3 交叉编译so文件 (15) 3.2.4 生成android系统可用的apk文件 (16) 3.3 常见问题汇总 (18) 4其它 (18)

1.引言 略…… 一切需要的软件及插件版本号以笔者使用为准,其它版本号的软件及插件不保证有效。文件下载地址在2012-1-19确认有效,不保证因各种原因导致下载地址失效。 开发平台操作系统为win32(WindowsXP、WindowsVista、Windows7) 2.cocos2d-x Win32环境配置 2.1 win32开发环境配置 2.1.1 Visual Studio 2008 安装VisualStudio2008,默认安装即可,如果是自定义安装,VisualC++组件应选中。 2.1.2 cocos2d-x 1. 下载cocos2d-x引擎最新版 官方下载地址为:https://www.360docs.net/doc/9c9255690.html,/p/cocos2d-x/downloads/list (当前使用版本为cocos2d-1.0.1-x-0.10.0.zip) 2.将cocos2d-1.0.1-x-0.10.0.zip解压缩至硬盘任意目录(建议 D:\Work7\cocos2d-1.0.1-x-0.10.0\, 因为现在wophone的开发环境必须安装至此, 以下以此为例) 3. 如果想查看引擎源代码,可以在.\cocos2dx\proj.win32目录下找到代码配置文件。 2.1.3 (可选)Visual Assist X 用来提高VisualStudio2008的工作效率, 可以安装此工具。 安装支持VS2008版本的任意一版,无需配置。本软件是收费软件,需要注册。 技巧:如果不想让VAX对注释中的拼写进行校正(即去掉单词下面的波浪线提示),可以选择Visual Assist X Option,进行如下配置:

High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件

High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件

介绍 对于我之前的一个项目,我需要在图表控件上显示连续的数据流。我决定开发自己的控件,因为我找不到任何可以提供所需灵活性的自由软件控件。其中一个主要的限制是,控件必须绘制大量的数据,并能够迅速显示它(在Pocket PC上)。控件能够通过仅绘制新的数据点而不是完整的数据序列来做到这一点并且图表还能够显示静态数据。 这种控件是我长时间工作的结果,而且费尽周折地为了提供足够的灵活性来供需要它的人使用。对于使用者反馈我表示由衷的感谢:一个邮件,留言板中的一一句话或只是对本文评级。当我不知道是否还有人使用它时,我就没有必要维护这个控件了。 免责声明 这个控件是我花费很长时间的开发的结果,因此我对代码的使用放置一些小条件: 该代码可以以编译的形式用于任何非商业和商业目的。代码可以被重新开发,只要它提供作者名字和完整的免责声明。更改源代码需要得到作者的同意。 此代码不提供任何安全保证。我不会对使用此代码造成的损失负责。使用它需要自己承担风险。 This code may be used for any non-commercial and commercial purposes in a compiled form. The code may be redistributed as long as it remains unmodified and providing that the author name and the disclaimer remain intact. The sources can be modified with the author consent only. This code is provided without any guarantees. I cannot be held responsible for the damage or the loss of time it causes. Use it at your own risks.

Doxygen使用教程(个人总结)

简介Doxygen 一.什么是Doxygen? Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担。不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。 Doxygen 就是在您写批注时,稍微按照一些它所制订的规则。接着,他就可以帮您产生出漂亮的文档了。 因此,Doxygen 的使用可分为两大部分。首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文档。 目前Doxygen可处理的程序语言包含: ?C/C++ ?Java ?IDL (Corba, Microsoft及KDE-DCOP类型) 而可产生出来的文档格式有: ?HTML ?XML ?LaTeX ?RTF ?Unix Man Page 而其中还可衍生出不少其它格式。HTML可以打包成CHM格式,而LaTeX可以透过一些工具产生出PS或是PDF文档。 二.安装Doxygen ? 1.1 安装 Doxygen 1.7.4(Windows) ? 1.2 安装 graphviz 2.28.0(Windows)

graphviz 是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。Doxygen 使用 graphviz 自动生成类之间和文件之间的调用关系图,如不需要此功能可不安装该工具包。 1.3 安装 Windows Help Workshop 1.32 Doxygen 使用这个工具可以生成 CHM 格式的文档。 三.Doxygen的配置 Doxygen 产生文档可以分为三个步骤。一是在程序代码中加上符合Doxygen所定义批注格式。二是使用Doxywizard进行配置。三是使用Doxygen来产生批注文档。Doxygen 1.7.4主界面如下图 1所示。 说明:1,Doxygen 工作目录,就是用来存放配置文件的目录。 2,递归搜索源文件目录需要选上。 选择wizard 标签下的Output Topics 相关配置说明如下图 2所示。

C++注释规范 (1)

C++注释规范

前言 为了保持程序源码与文档的一致性,提出了源码注释规范化。文档修订记录

1适用范围 C++ 2引用文件 doxygen_manual-1.5.9.pdf 3术语 4概述 根据文档化的源码,直接从源码中抽取文档,保持文档源码一致性。采用开源工具Doxygen,支持输出html、pdf、chm、man手册等。Doxygen支持两种形式的注释:JavaDoc 和QT风格,本规范采用通用的JavaDoc形式,更适合一般的编程习惯。 5Doxygen安装 5.1 Windows平台 ?直接运行Doxygen 的Setup EXE文件,依据提示进行安装操作; ?运行Graphviz的安装(EXE)文件,依据提示进行安装操作。 6Doxygen运行 DOXYFILE_ENCODING=GBK OUTPUT_LANGUAGE=Chinese INPUT_ENCODING=GBK FILE_PATTERNS=*.h *.cpp RECURSIVE=true EXTRACT_ALL=TRUE EXTRACT_PRIVA TE=TRUE EXTRACT_STATIC=TRUE EXTRACT_LOCAL_CLASSES=TRUE

EXTRACT_LOCAL_METHODS=TRUE SHOW_INCLUDE_FILES=TRUE INLINE_INFO=TRUE SHOW_DIRECTORIES=TRUE SHOW_FILES=TRUE SHOW_NAMESPACE=TRUE 7Doxygen介绍 如果采用Doxygen为代码产生文档,在编写代码时首先要为代码添加Doxygen风格的注释,这些Doxygen风格的注释可以称为文档块(Document block),添加注释的这个动作可以称为文档化代码。Doxygen会根据相应的doxygen注释块为代码生成相应的文档。 对每个代码条目,Doxygen有两种(在某些情况下可以3种)类型的说明,共同组成文档:简要说明和详细说明。对应方法和函数可以有第三种风格的注释,函数体内注释(in body)。因为没有指定描述顺序,因此不建议多条简要说明或详细说明。 简要说明只有一行,详细说明可以有多行。 以下描述全部以JavaDoc为例。 7.1 详细注释 1、JavaDoc风格的注释,这种风格的注释是在C风格的注释块开始处有两个“* “,如下: /** * ... 注释块... */ 上例中文本前的“* “是可选的,也可以写成 /** ... 注释块... */ 3、单行注释也可以采用如下方式 /// /// ... 注释... ///

固件库升级笔记

固件库升级 1.STM32F10xxx固件库(FWLib)V 2.0.3升级为标准外设库(StdPeriph_Lib)V 3.0. STM32F10xxx标准外设库(StdPeriph_Lib)V3.0.0由固件库(FWLib)V2.0.3升级而来: (1)它使库与CortexTM微控制器软件接口标准(CMSIS)兼容 (2)改进了库包的体系结构 (3)源代码符合Doxygen格式 (4)升级不影响STM32外设驱动的API(应用编程接口) 注意:标准外设库(StdPeriph_Lib)V3.0.0只对STM32F10xxx CAN驱动进行了升级,目的是支持即将面世的STM32F10xxx连接型产品(带双CAN)。 注释:Doxygen格式注释风格可以通过Doxygen工具直接生成手册等帮助文档。 2.要升级到STM32F10xxx标准外设库V 3.0.0,用户只需要更新: (1)与工具链相关的文件 (2)项目(project)设置 (3)库文件的位置:即目录结构,其变化可参照下图。 (4)用户无需改变或者更新应用程序的代码,有一些宏定义发生了改变。 注释:CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间的通用接口。 3.CMSIS与v2.0.3差别 (1)对每一个Cortex-M3异常和STM32的IRQ,有: ─异常服务程序带后缀_Handler,中断服务程序带后缀_IRQHandler 。

─弱定义(Weak)的默认异常/中断服务程序,包含一个无限循环 ─带_IRQn 后缀的中断号码“#define” 启动文件更名为”startup_stm32f10x_xx.s/.c”,其中xx可以是hd,md或者ld,分别对应大容量,中容量,小容量产品。 (2)只提供精简的NVIC和SysTick函数,其他一些常用函数作为一个新的驱动加入STM32F10xxx标准外设库,文件命名为misc.h/.c。 (3)某些宏的名字与STM32F10xxx固件库V2.0.3中的相同功能宏不同(见表1) 4.Stm32体系结构

《Doxygen中文手册》之索引

《Doxygen中文手册》之索引 介绍 Doxygen是可用于C++、C、Java、Objective-C、Python、IDL (Corba 和Microsoft flavo rs)以及部分PHP、C#和D语言的文档系统。 它能通过以下三种方式帮助你: 1,它能从一系列源文件中生成在线浏览文档(HTML形式)或离线参考手册(LATEX形式)。还支持RTF(MS-Word),PostScript,带超链接的PDF,压缩的HTML和Unix man页。文档是直接从源文件中提取出来的,这使得文档与源代码很容易保持同步。 2,通过配置doxygen,你可以从未文档化的源文件中提取出代码结构。这对于从大的源码包中快速理清头绪是非常有用的。它还能自动产生出包含关系图、继承图和协作图,使你能直观地看出各种元素间的关系。 3,你甚至可以“滥用“doxygen来创建平常的文档(就像本文档)。 doxygen是在Linux和Mac OS X下开发的,但是它被设计成高可移植的。这使得它可运行在其它Uni x变种操作系统上。此外,它还能在windows下运行。 本手册分为三部分,其中每个部分又分为几节。 第一部分是用户手册: ?Installation一节讨论了如何在你的平台上下载、编译和安装doxygen。 ?Getting started一节告诉你如何快速地产生你的第一块文档。 ?Documenting the code 一节示范了代码被文档化的多种方法。 ?Lists 一节展示了如何创建项目列表。 ?Grouping一节展示了如何将各种东西集合在一起以组成一个项目列表。 ?Including formulas一节展示了如何在文档中插入规则。 ?Graphs and diagrams描述了doxygen可生成的图表和图形。 ?Preprocessing一节说明了doxygen是如何处理宏定义的。 ?Automatic link generation一节展示了如何在文档中链接文件、类和成员。 ?Output Formats一节展示了如何生成doxygen支持的各种输出格式。

Doxygen 快速入门

Java有好用的JavaDoc文档生成工具,那么C++有没有呢?有,这就是大名鼎鼎的Doxygen,开源,功能强大,支持非常多的编程语言。 1.安装和配置 首先下载Doxygen1.5.6,然后下载graphviz‐2.18,安装。 运行Doxywizard,开始配置。 单击Wizard按钮,会弹出对话框,输入项目名,这个名字会作为文档的大标题,输入版本,也会出现在文档中,然后输入源代码的根目录,勾选”Scan recursively”,输入文档输出路径。如图1所示: 图1 单击Mode标签,不做任何改动,保持默认。 单击Output标签,去掉”LaTex”,选择“prepare for compressed HTML(.chm)”,因为输出chm比较方便,只有一个文件就包含所有文档,不向html会有一堆的文件。如图2所示:

图2 单击Diagrams标签,如果已经安装了GraphViz,则保持默认,如果没安装,则选择“Use built‐in class diagram generator”就足够,如图3所示: 图3 点击OK,返回。 单击Expert按钮,会弹出一个有更多标签页的对话框,在"Project"标签页下,将OUTPUT_LANGUAGE设置为Chinese,因为我需要生成中文文档,如图4所示:

图4 单击"Input"标签,将INPUT_ENCODING保持默认的utf‐8,因为我用的是Visual Studio 源代码文件的编码默认就是utf‐8。如图5所示:

如果你有洁癖,你可以耐心的将FILE_PATTERNS下的后缀一个一个删掉(用记事本打开配置文件,搜索”FILE_PATTERNS”,一下可以删除一片,免去你点鼠标点到食指抽筋之苦),只留下*.h、*.hpp、*.c、和*.cpp等,意思是只扫描C++头文件和源文件,如图6所示: 图6 下拉滚动条,会有EXCLUDE和EXCLUDE_PATTERNS表示不要进行解析的目录和文件,即工程目录下有的目录不需要进行文档化(比如测试代码),就用这两个排除掉。 单击“Source Browser”标签,勾选“SOURCE_BROUSER”,这样文档中就会附加一份源码,方便随时查阅,如图7所示:

doxygen标准VC注释_完整的配置步骤

C++ 程序文档生成器介绍(doxygen) 程序文档,曾经是程序员的一个头痛问题。写一个程序文档,比较花时间,但不是很难;麻烦的是当程序修改后,程序文档也要跟着同步更新,否则文档和程序就要脱节,文档也就变成没用的东西了。 好在有许多好用的文档生成器来解决这个问题。目前比较流行的C++文档生成器是doxygen。本文就简单的介绍一下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);

USRP配置问题

1.打开终端输入uhd_find_devices(下面称find命令)显示No UHD Devices Found 的问题? 解决方法:usrp设备上电,等待大概5-6s直到只有指示灯D、F亮,同时网线端口的左侧绿色指示灯一直亮。在重新输入find命令时,看是否能够找到设备。如果终端仍然显示No UHD Devices Found ,则把usrp网络断开连接,然后输入find命令试试。 如果还是显示未找到设备,断开电源,打开usrp设备的铁盒子找到进入安全模式的靠近FPGA芯片的蓝色S2按键。找到后按着它然后接上电源直到指示灯不再闪烁,同时网线端口左侧的绿色灯亮,然后再松开按键。正常情况下,再次输入find 命令时就能够找到设备,并且输出相关信息了。最后,可以在终端用uhd_usrp_probe命令,打印出子板的详细信息。 2.终端运行sudo usrp_n2xx_simple_net_burner ,显示images write failed, FPGA 固件烧写失败的问题? 解决方法:烧写失败的主要原因是设备与主机通信不稳定,导致FPGA擦写失败。在解决问题1的基础上出现这种问题我们解决方法是:A.重复多次尝试,可能会偶尔成功(我没成功过);B.重新回到问题一,当输入find命令,直到不会出现Error 为止(虽然能够找到设备,但会输出Error,这是实验过不行的)。C.到装有虚拟机ubuntu终端的电脑上重新烧写(经验证这种方法很可靠),具体安装虚拟机和配置网卡见参考文献下的PDF文档[3]。 3.FPGA 固件烧写成功后,运行 find 命令又无法找到设备的问题? 解决方法:这个问题我也是不是很清楚,为什么固件烧进去后设备的地址就变了。也就是说引起这个问题的原因是主机的IP地址与设备的IP地址不符,如果你知道设备现在的IP地址是什么就好办了,就可以直接在主机的网络连接—编辑—usrp—编辑中把IP地址改为和设备相同的地址。比如设备现在地址是“192.168.20.2”,那么你就要改为和它相同的IP。又如果你不知道设备的IP 变成什么了,这种情况你就需要更改设备的IP了(具体如何修改设备IP见第4问),建议最好改为“192.168.10.2”,因为出厂默认的地址就是这个防止你以后忘记更改的IP。 4.如何更改设备IP地址? 解决方法:在ubuntu 下打开终端,方法一输入: cd/usr/local/lib/uhd/utils/ ./usrp_burn_mb_eeprom –args= --values= "ip-addr=192.168.10.2" 方法二同样输入: cd/usr/local/lib/uhd/utils/ sudo ./usrp2_recovery.py –ifc=etho –new-ip=192.168.10.3 由于编辑这篇文档是在Windows下完成的,所以当直接复制粘贴以上命令可能无法正常执行。其实上面两种方法在它给的几篇word中也有说明,找到参考文献[1]打开Table Of Contents 目录下的Devices & Usage Manual;再打开Devices & Usage Manual目录下的USRP2 and N2x0 Series。USRP2 and N2x0 Series中包含了很多关于在调试设备中所遇到的问题的信息,上面所说的如何修改IP地址和问题1,2,3。所以在遇到问题时主要参考这些文档。

doxygen代码文档生成工具的使用

Doxygen使用讲解及注释格式 1Doxygen简介 Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc 兼容。Doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。 Doxygen 是一个程序的文档产生工具,可将程序中的特定注释转换成为说明文档。通常我们在写程序时,或多或少都会写上注释,但是对于其它人而言,要直接探索程序里的注释,与打捞铁达尼号同样的辛苦。大部分有用的注释都是针对函数,类别等等的说明。所以,如果能依据程序本身的结构,将注释经过处理重新整理成为一个纯粹的参考手册,对于后面利用或维护这份程序代码的人而言将会减少许多的负担。对于未归档的源文件,也可以通过配置Doxygen 来提取代码结构。或者借助自动生成的包含依赖图(includedependency graphs)、继承图(inheritance diagram)以及协作图(collaborationdiagram)来可视化文档之间的关系。 一个好的程序设计师,在写程序时,都会在适当的地方加上合适的注释。如果,能够在撰写注释时,稍微符合某种格式,接着就可以通过一个工具依据程序结构及注释产生出漂亮的文档,这将令程序设计师从繁重的文档编写工作中解脱出来。Doxygen 就是这样的一个工具。在写注释时,按照它所制订的一些规则编写,接着就可以产生出漂亮的文件了。因此,Doxygen 的使用可分为两大部分,首先是特定格式的注释撰写,第二便是利用Doxygen 的工具来产生文档。本文将对Doxygen 的常用功能做一个入门介绍,更多功能或完整支持请参考Doxygen的用户手册。 2目的 本文档旨在介绍doxygen的使用及统一代码注释,编写出符合doxygen要求的良好的代码注释风格,并可以利用doxygen生成代码文档,提高后续维护人员维护代码的难度,并提高代码的可读性。 本文档为基于《郑州云涌嵌入式程序规范第一版.doc》,不涉及变量命名、缩进等要求,仅涉及注释部分的格式,指出统一风格的Doxygen可识别的注释格式,作为其补充和修订。

MPU6050 DMP官方使用手册

InvenSense Inc. 1197Borregas Ave.,Sunnyvale,CA 94089U.S.A.Tel:+1(408)988-7339Fax:+1(408)988-8104 Website:https://www.360docs.net/doc/9c9255690.html, Doc :SW-EMD-REL-5.1.1Doc Rev :1.0Date :12/14/2012 A printed copy of this document is NOT UNDER REVISION CONTROL unless it is dated and stamped in red ink as, “REVISION CONTROLLED COPY.” This information furnished by InvenSense is believed to be accurate and reliable. However, no responsibility is assumed by InvenSense for its use, or for any infringements or patents or other rights of third parties that may result from its use. S pecifications are subject to change without notice. Certain intellectual property owned by InvenSense and described in this document is patent protected. No license is granted by Implication or otherwise under any patent or patent rights of InvenSense. This is an unpublished work protected under the United States copyright laws. This work contains proprietary and confidential information of InvenS ense Inc. Use, disclosure or reproduction without the express written authorization of InvenS ense Inc. is prohibited.Trademarks that are registered trademarks are the property of their respective companies. This publication supersedes and replaces all information previously supplied. InvenSense sensors should not be used or sold for the development, storing, production and utilization of any conventional or mass-destructive weapons or any other weapons or life threatening applications, as well as to be used in any other life critical applications such as medical, transportation, aerospace, nuclear, undersea, power, disaster and crime prevention equipment. Copyright ?2010InvenSense Corporation. Embedded Motion Driver v5.1.1 APIs Speci?cation

相关文档
最新文档