doxygen使用示例

doxygen使用示例
doxygen使用示例

程序编码规范

蜗牛游戏程序编码规范 (版本 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); ·结构类型

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概述代码 概述性注释是这么做的:将若干代码行的意思以一两句话说出来。这种注释比重复性注释强多了,因为读者读注释能比读代码更快。概述性注释对于要修改你代码的其他人来说尤

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.

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体系结构

cocos2d-x 环境配置手册V2.1.4

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

版本维护记录

目录 1.引言 (4) 2.cocos2d-x Win32环境配置 (4) 2.1 win32开发环境配置 (4) 2.1.1 Visual Studio (4) 2.1.2 cocos2d-x (4) 2.1.3 (可选)doxygen(旧版本遗留,新版本未进行验证) (4) 2.2 示例代码生成 (5) 2.3 Python (6) 2.4 生成新工程 (6) 3cocos2d-x Android 环境配置 (6) 3.1 android开发环境配置 (6) 3.1.1 Eclipse 3.7.1 (6) 3.1.2 Eclipse ADT插件 (6) 3.1.3 Eclipse CDT插件 (8) 3.1.4 AndroidSDK (10) 3.1.5 AndroidNDK (11) 3.2 Android可执行文件生成过程 (12) 3.2.1 前期准备 (12) 3.2.2 生成Android新工程 (12) 3.2.2 修改mk脚本文件 (12) 3.2.4 将工程导入eclipse (12) 3.2.5 配置eclipse编译选项 (13) 3.2.6 生成apk工程 (14) 4其它 (14)

1.引言 略…… 一切需要的软件及插件版本号以笔者使用为准,其它版本号的软件及插件不保证有效。文件下载地址一部分为2012-1-19确认有效的、一部分为2013/8/2确认有效的,不保证因各种原因导致下载地址失效。 本文档配置环境为win8 x64版本,win7应可以正确配置,但不保证会出现非预期问题。 引擎升级为cocos2d-x-2.1.4版本。 2.cocos2d-x Win32环境配置 2.1 win32开发环境配置 2.1.1 Visual Studio cocos2d-x-2.1.4支持的VisualStudio版本为2010和2012,笔者使用的版本为VisualStudio2010。 安装时,默认安装即可,如果是自定义安装,VisualC++组件应选中。 2.1.2 cocos2d-x 1. 下载cocos2d-x引擎最新版 官方下载地址为:https://www.360docs.net/doc/9110581327.html,/projects/cocos2d-x/wiki/Download (当前使用版本为cocos2d-x-2.1.4.zip @ June.18, 2013) 2.将cocos2d-1.0.1-x-0.10.0.zip解压缩至硬盘任意非中文路径(建议放置层数不要太深),如:D:\work\cocos2d-x-2.1.4 2.1.3 (可选)doxygen(旧版本遗留,新版本未进行验证) 安装工具 doxygen 1.7.6.1 Win32版本(本例用, 本工具为开源软件) 运行 doxygen, 选择 file->open 找到 "D:\Work7\cocos2d-1.0.1-x-0.10.0\doxygen\" 目录下的doxygen.cocos2d-x文件, 并打开

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);

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/9110581327.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

相关主题
相关文档
最新文档