doxygen {#mainpage}

doxygen是干什么的

相信大家在看MCU原厂的帮助文档的时候,都能看到doxygen的logo在右下角,没错,doxygen就是用来生成帮助文档的

doxygen可以根据代码中的注释信息,来生成代码的一个帮助文档

软件安装

doxygen安装

  1. doxygen官网下载

  1. 安装,安装就很简单,一路next就完事了

  2. 安装完发现并没有生成桌面快捷方式,但是可以在windos的start或者安装目录找到,来一波添加桌面快捷方式

HTML Help (CHM) Help Compiler 安装

  1. HHC是用来生成CHM文件的,所以也会用到

    官网下载

下载doxygen中文手册

我从网上找到了这个doxygen的中文手册,给放在我的gitee上了,对于我这个英文不是很好的人来说,这个资料算是格外的珍贵了,也给大家分享一下

doxygen GUI frontend的使用

下面我都是使用这个GUI的程序来进行的

需要注意的地方

Expert->Input

注意,需要吧用到的资源的所有文件夹都包含进去,不然生成CHM可能会缺失

其他的就参见gitee上的工程文件吧

代码添加注释(VSCode korofileheader插件)

"fileheader.customMade":{
"file":"",
"Author": "chenjk",
"Date": "Do not edit",
"LastEditTime": "Do not edit",
"FilePath": "Do not edit",
"Description": "",
},
"fileheader.cursorMode": {
"brief":"",
"param":"",
"return":"",
},
"fileheader.configObj": {
"createHeader": true, //默认打开
"colon":" ",
"annotationStr": {
"head": "/**", // 自定义注释头部
"middle": " * @", // 自定义注释中间部分(注意空格,这也是最终生成注释的一部分)
"end": " */", // 自定义注释尾部
"use": false // 是否使用自定义注释符号
}
}

安装完之后,使用CTRL+ALT+I可以向代码中添加文件头部信息,使用CTRL+ALT+T可以添加函数注释格式信息,但因为我电脑的CTRL+ALT+T快捷键冲突了,我只能改建成CTRL+ALT+U,改键方法如下

注释

doxygen会识别如下如下格式的内容为用户需要doxygen进行抽取的

/**
*
*/

其中第一行的第二个*即提示doxygen此处有需要抽取的注释,否则doxygen并不会进行检查

@或者\符号是命令的提示符

比如命令brief为描述,在其前面添加@doxygen就会识别到这个命令,同理param也需要在前面加上@符号

常见的注释格式为:

建议在其中这个注释可以放在.c文件也可以放在.h文件,建议是如果存在.c文件,那么放在.c中,否则放在.h文件中。

另外如果两个都有,建议.h放简单的描述和输入输出的参数说明,若有更复杂的Note、Waring、details等,放在.c文件中

特殊命令

addtogroup

是将API分门别类的好工具,具体的效果就是会在生成的chm或HTML中增加一个模块页面增加这个组,这个组中会列举组中API的函数、枚举、定义等内容,所以如果需要代码API需要按模块来分类,并且可以配合brief来对模块进行说明,这是个利器

mainpage命令

我们可以使用md文件来制作首页,其方法就是在一级标题后面添加 {#mainpage},并且把这个文件添加到input中去

Note:

​ 1. 但注意这个一定要是在md文件的最开头,并且前面没有东西

doxygen上手的更多相关文章

  1. doxygen的简单使用(快速上手)

    在网上找了很久一个简单的doxygen教程,这个是最简单的,让你看完之后马上就能写doxygen格式的代码 doxygen是一种从源代码生成文档的工具,支持多种语言.当然,源代码中需按一定的格式写注释 ...

  2. Windows下使用doxygen阅读和分析C/C++代码

    Windows下使用doxygen阅读和分析C/C++代码 转自:http://blog.sina.com.cn/s/blog_63d902570100gwk6.html 虽然使用各种IDE或者Sou ...

  3. Doxygen给C程序生成注释文档

    近段时间,一直在学习华为C语言编程规范(2011版),在“注释”这一章中发现了一种“Doxygen”的注释转文档工具,查看诸多相关资料,并进行编程实践,终于可以利用Doxygen给C程序生成注释文档. ...

  4. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  5. Impress.js上手 - 抛开PPT、制作Web 3D幻灯片放映

    前言: 如果你已经厌倦了使用PPT设置路径.设置时间.设置动画方式来制作动画特效.那么Impress.js将是你一个非常好的选择. 用它制作的PPT将更加直观.效果也是嗷嗷美观的. 当然,如果用它来装 ...

  6. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  7. 快速上手Unity原生Json库

    现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...

  8. Masonry介绍与使用实践:快速上手Autolayout

    1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 w ...

  9. 在QtCreator中使用doxygen

    接触Doxygen后,认识到其强大之处,一口气将之前的烂代码重构了一遍,所有的文件头,函数注释等等都是手动添加注释.在keil中可以看到其对JavaDoc风格的注释有高亮,非常好看.但是keil这个I ...

随机推荐

  1. 一个简单的wed服务器SHTTPD(5)————服务器SHTTPD请求方法解析

    //start from the very beginning,and to create greatness //@author: Chuangwei Lin //@E-mail:979951191 ...

  2. mysql-case..when知识点总结

    case...when..有两种语法: 第一种: case  case_value when when_value  then statement_list [when when_value  the ...

  3. Nginx入门资料

    最近在学习Nginx,记录一下自己的学习历程. 1. Nginx开发从入门到精通 (淘宝技术团队编写,值得一看) 2. <深入理解Nginx:模块开发与架构解析> 3. Nginx模块开发 ...

  4. python执行脚本报错: Non-ASCII character '\xe4' in file yang.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    这是因为我们在写python程序的时候,无论在注释里面出现中文,还是在代码里面出现中文,也就是说只要这个python程序里面有中文,我们就不能直接用python2来进行执行,如果安装是python3可 ...

  5. FOC 电流采样方案对比(单电阻/双电阻/三电阻)

    如果本文帮到了你,帮忙点个赞: 如果本文帮到了你,帮忙点个赞: 如果本文帮到了你,帮忙点个赞: 创作不易 谢谢支持 文章目录 1 电流采样的作用 2 硬件架构 3 采样关键 4 采样方案 5 三电阻采 ...

  6. 最简单的手机预览WEB移动端网页的方法

    网上看了很多关于该问题的解决办法,各种各样的都有,个人也测试了一些, 最后总结出一个最简单且实用的方法. 1.安装nodejs node官网下载对应版本的nodejs,安装好了之后,在node.js执 ...

  7. mysql 库表整体相关查询

    select table_schema,table_name from information_schema.columns where column_name = '字段名'; 查询某张表有几条记录 ...

  8. 数据库中取出YYYY-mm-dd H:i:s的数据怎么将其转化成YYYY/mm/dd格式,另外,怎么将一个数据表中的数据插入另一个数据表

    sql语句是select  left(replace(rq,'-','/'),10) as rq from 表名 tp5.1中的写法 $res = Db::table('表名') ->field ...

  9. 【前端背景UI】鼠标磁性动态蜘蛛网背景源码

    <div style="float:right;" id="hub_iframe"></div> <script type=&qu ...

  10. ql的python学习之路-day14

    前言:本节主要学习时间模块time.datetime python中的几种时间表示:1)时间戳  2)格式化的字符串时间 3)struct_time元组格式的时间 time.datetime模块源码: ...