代码注释规范之Doxygen

13 篇文章 3 订阅
订阅专栏

一 Doxygen简介

Doxygen是一个程序的文档产生工具,可以将程序中的注释转换成说明文档或者说是API参考手册,从而减少程序员整理文档的时间。当然这里程序中的注释需要遵循一定的规则书写,才能让Doxygen识别和转化。

目前Doxygen可处理的程序语言包含C/C++、Java、Objective-C、IDL等,可产生出来的文档格式有HTML、XML、LaTeX、RTF等,此外还可衍生出不少其它格式,如HTML可以打包成CHM格式,而LaTeX可以通过一些工具产生出PS或是PDF文档等。

二 Doxygen安装及使用

安装列表:

  • Doxygen: 下载地址, http://doxygen.nl/files/doxygen-1.8.15-setup.exe

  • HTML Help:微软官方用于生成HTML格式的help文件,下载地址, http://go.microsoft.com/fwlink/p/?linkid=14188

  • Graphviz:一种dot工具可以用来渲染出效果更好的图表,下载地址, https://graphviz.gitlab.io/_pages/Download/Download_windows.html

如果上述地址无法下载,点击这里 https://download.csdn.net/download/chengbaojin/85068541

windows上安装很简单,无需特别设置。

三 Doxygen设置

1 基本设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 专家设置

2.1 Project

每个配置项均有详细鼠标放置时均有详细注释,以下是我的设置可供参考,特别注意语言,避免中文乱码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 Build

  • EXTRACT_ALL 表示:输出所有的函数,但是private和static函数不属于其管制。
  • EXTRACT_PRIVATE 表示:输出private函数。
  • EXTRACT_STATIC 表示:输出static函数。同时还有几个EXTRACT,相应查看文档即可。
  • HIDE_UNDOC_MEMBERS表示:那些没有使用doxygen格式描述的文档(函数或类等)就不显示了。当然,如果EXTRACT_ALL被启用,那么这个标志其实是被忽略的。
  • INTERNAL_DOCS 主要指:是否输出注解中的@internal部分。如果没有被启动,那么注解中所有的@internal部分都将在目标帮助中不可见。
  • CASE_SENSE_NAMES 表示:是否关注大小写名称,注意,如果开启了,那么所有的名称都将被小写。对于C/C++这种字母相关的语言来说,建议永远不要开启。
  • HIDE_SCOPE_NAMES 表示:域隐藏,建议永远不要开启。
  • SHOW_INCLUDE_FILES 表示:是否显示包含文件,如果开启,帮助中会专门生成一个页面,里面包含所有包含文件的列表。
  • INLINE_INFO :如果开启,那么在帮助文档中,inline函数前面会有一个inline修饰词来标明。
  • SORT_MEMBER_DOCS :如果开启,那么在帮助文档列表显示的时候,函数名称会排序,否则按照解释的顺序显示。
  • GENERATE_TODOLIST :是否生成TODOLIST页面,如果开启,那么包含在@todo注解中的内容将会单独生成并显示在一个页面中,其他的GENERATE选项同。
  • SHOW_USED_FILES :是否在函数或类等的帮助中,最下面显示函数或类的来源文件。
  • SHOW_FILES :是否显示文件列表页面,如果开启,那么帮助中会存在一个一个文件列表索引页面。

在这里插入图片描述

2.3 input

在这里插入图片描述

2.4 Source Browser

在这里插入图片描述

2.5 HTML

在这里插入图片描述

2.6 Dot

在这里插入图片描述
在这里插入图片描述

四 运行

点击Run运行即可

生成文件在工程 /doc/html/ble_app_gnt.chm
在这里插入图片描述

五 Doxygen注释语法

1 注释格式

块注释建议统一使用

/**

……

*/

行注释建议统一使用

///< …

/** …… */

2 Doxygen常用注释命令

  • @exception {exception description} 对一个异常对象进行注释。
  • @warning {warning message } 一些需要注意的事情
  • @todo { things to be done } 对将要做的事情进行注释,链接到所有TODO 汇总的TODO 列表
  • @bug 缺陷,链接到所有缺陷汇总的缺陷列表
  • @see {comment with reference to other items } 一段包含其他部分引用的注释,中间包含对其他代码项的名称,自动产生对其的引用链接。
  • @relates 通常用做把非成员函数的注释文档包含在类的说明文档中。
  • @since {text} 通常用来说明从什么版本、时间写此部分代码。
  • @deprecated
  • @pre { description of the precondition } 用来说明代码项的前提条件。
  • @post { description of the postcondition } 用来说明代码项之后的使用条件。
  • @code 在注释中开始说明一段代码,直到@endcode命令。
  • @endcode 注释中代码段的结束。
  • @code … @endcode 包含一段代码
  • @addtogroup 添加到一个组。
  • @brief 概要信息
  • @deprecated 已废弃函数
  • @details 详细描述
  • @note 开始一个段落,用来描述一些注意事项
  • @par 开始一个段落,段落名称描述由你自己指定
  • @param 标记一个参数的意义
  • @fn 函数说明
  • @ingroup 加入到一个组
  • @return 描述返回意义
  • @retval 描述返回值意义
  • @include 包含文件
  • @var、@enum、@struct、@class 对变量、美剧、结构体、类等进行标注

3 Doxygen注释示例

3.1 项目注释

项目注释块用于对项目进行描述,每个项目只出现一次,一般可以放在main.c主函数文件头部。对于其它类型的项目,置于定义项目入口函数的文件中。对于无入口函数的项目,比如静态库项目,置于较关键且不会被外部项目引用的文件中。

项目注释块以“/** @mainpage”开头,以“*/”结束。包含项目描述、及功能描述、用法描述、注意事项4个描述章节。

项目描述章节描述项目名称、作者、代码库目录、项目详细描述4项内容,建议采用HTML的表格语法进行对齐描述。

功能描述章节列举该项目的主要功能。

用法描述章节列举该项目的主要使用方法,主要针对动态库、静态库等会被其它项目使用的项目。对于其它类型的项目,该章节可省略。

注意事项章节描述该项目的注意事项、依赖项目等相关信息。

要善于使用表格及一些标号语句

/**@mainpage  智能井盖固件程序
* <table>
* <tr><th>Project  <td>ble_app_smc 
* <tr><th>Author   <td>wanghuan 
* <tr><th>Source   <td>E:\keil_workspace\NORDIC\nRF52832_htwh_sdk15.0\examples\ble_peripheral\ble_app_smc_freertos-doxygen
* </table>
* @section   项目详细描述
* 通过智能井盖管理系统的部署,管理人员通过手机APP与管理平台就能对辖区内井盖的安装、开闭、状态进行管理,出现异常情况及时通知维护人员进行检修,保障排水正常,保障市民安全。
*
* @section   功能描述  
* -# 本工程基于蓝牙新品nRF52832开发
* -# 本工程基于蓝牙协议栈开发,协议栈版本 SDK-15.0
* -# 智能井盖采用NB-IoT模组为ME3616
* 
* @section   用法描述 
* -# 智能井盖检测器安装指导
* -# 智能井盖检测器使用前需配置使能
* 
* @section   固件更新 
* <table>
* <tr><th>Date        <th>H_Version  <th>S_Version  <th>Author    <th>Description  </tr>
* <tr><td>2018/08/17  <td>1.0    <td>S02010041808171   <td>wanghuan  <td>创建初始版本 </tr>
* <tr><td>2019/06/24  <td>1.3    <td>S02010041906241   <td>wanghuan  <td>
* -# 电信平台增加上报需应答,应答超时时间默认40s;\n
*       代码宏:ME3616_NOTIFY_NEED_RPLY_EN
* -# 新增PSM进入超时处理,默认超时处理模组关机,超时时间默认200s;\n
*       代码宏:ME3616_PSM_TIMEOUT_HANDLE_EN
* -# 信号强度获取接口函数修改,增加可靠性,详见 me3616_getSignal();
* -# 调试指令新增周期上报测试指令,710A-0D
* </tr>
* </table>
**********************************************************************************
*/

在这里插入图片描述

3.2 文件注释

文件注释块对源代码文件进行注释,包括头文件(.h)、C++文件(.cpp)或C文件(*.c)。文件注释块置于对应文件的开头,至少包括文件名(@file)、文件简要说明(@brief)、作者(@author)、创建日期(@date)和版本号(@version)5个标记。如下所示:

/**@file  main.c
* @brief       项目主函数文件
* @details  主要包含协议应用栈程序框架,main函数入口
* @author      wanghuan  any question please send mail to 371463817@qq.com
* @date        2018-8-17
* @version     V1.0
* @copyright    Copyright (c) 2018-2020  江苏亨通光网科技有限公司
**********************************************************************************
* @attention
* 硬件平台:nRF52832_QFAA \n
* SDK版本:nRF5_SDK_15.0.0
* @par 修改日志:
* <table>
* <tr><th>Date        <th>Version  <th>Author    <th>Description
* <tr><td>2018/08/17  <td>1.0      <td>wanghuan  <td>创建初始版本
* </table>
*
**********************************************************************************
*/

在这里插入图片描述

3.3 函数注释

该注释块对函数进行描述,位于对应函数的定义上方。

函数注释块包含以下内容:

  • 简要说明标记(@brief),内容为方法 / 函数的简要说明。
  • 详细描述,详细描述与@brief标记之间空一行”\n”或者使用@details。
  • 若干个参数描述标记(@param),数量与该方法的输入参数个数相同。格式为:“@param 参数名称 参数说明”。
  • 返回值标记(@return),描述该方法的返回值,格式为:“@return 返回值类型 返回值描述”。若返回值为void类型,则省略该标记。
  • 返回值说明(@retval),对具体返回值进行描述说明。
  • 特殊标记
    • -:生成一个黑心圆.
    • -#:指定按顺序标记。
    • :::指定连接函数功能。(注:空格和“:”有连接功能,但建议还是使用”::”。只对函数有用。)

以下是一个函数注释块实例,实际根据情况增减:

/**@brief NB模组向云平台上报数据
* @param[in]  handle              NB模组驱动句柄
* @param[in]  *data                上报数据指针
* @param[in]  len                上报数据长度
* @param[in]  rcc_enabled          上报时是否主动释放RCC链接
* @param[in]  update_enabled    上报时是否更新注册(只适用于onenet)
* @param[in]  report_fail_try_type    上报失败重新注册类型 \n
* @ref NB_REPFAIL_REG_TRY 出错立即重试    \n
* @ref NB_REPFAIL_REG_DELAY_TRY 出错延缓重试,在延迟期间如果正常则重新延缓,适用于高频率上报(上报失败重新注册超时15min) \n
* @ref NB_REPFAIL_REG_NO_TRY 出错不重试
* @return  函数执行结果
* - NB_NOTIFY_SUCCESS      上报成功
* - NB_NOTIFY_FAIL        上报失败
* - NB_IOT_REGIST_FAILED 注册失败返回
* - Others  其他错误
* @par 示例:
* @code
*    移动平台发送数据 AT+MIPLNOTIFY=0,122553,3308,0,5900,4,4,50,0,0
*    电信平台发送数据 AT+M2MCLISEND=000101
* @endcode
* @see :: ME3616_FxnTable
*/

在这里插入图片描述

3.4 枚举、结构体等注释

/**@enum NB_msg_types_t
* @brief 定义驱动上报应用消息类型
*/
/**@struct ME3616_info_t
* @brief ME3616信息结构体 \n
* 定义存储ME3616的信息
*/
    typedef struct 结构体名字
    {
       成员1, ///< 简要说明文字 */ 如果不加<,则会认为是成员2的注释
       成员2, ///< 简要说明文字 
       成员3, ///< 简要说明文字 
    }结构体别名;

3.5 模块注释

模块注释用于将一系列相关功能的函数、枚举、结构等归入一个模块并进行描述。模块注释块包括模块起始注释块及模块结束注释块两个部分。

模块起始注释块包含模块名称标记(@defgroup)、模块简介标记(@brief)、模块详细描述及模块起始标记(@{)4个部份。

模块结束注释用于结束一模块描述定义,格式为“/** @} */”。与模块起始注释块成对出现。包含在模块起始注释块与结束注释块之间的所有内容将归入该模块。

若需要将其它文件中定义的内容归入一个已定义的模块,可使用简略的模块起始注释块与结束注释块括起需要归入该模块的内容。简略的模块起始注释块仅包含相同的模块名称标记(@defgroup)。

如下所示:

/**@defgroup bsp_me3616 Bsp me3616 driver module.
* @{
* @ingroup bsp_drivers
* @brief 使用该驱动之前,先进行驱动句柄的实例注册. \n
* ME3616驱动支持云平台Onenet和OceanConnect \n
* 当使能GPS驱动使能时,支持GPS操作 
*/



/** @} bsp_me3616*/

在这里插入图片描述

3.5 分组注释

自定义命名的一组内容注释

/**@name 协议栈用全局参数
* @brief 蓝牙5协议栈参数配置(广播、连接、安全等)相关宏定义,协议栈各模块句柄等全局参数
* @{
*/


/** @} 协议栈用全局参数 */

在这里插入图片描述

Doxygen常用命令、实例
Seeker_m的专栏
12-14 908
doxygen常用注释命令  1. 文件信息:   1) @file       --> 文件声明,即当前文件名   2) @author  --> 作者   3) @version --> 版本,推荐使用$Id$   4) @todo     --> 改进,可以指定针对的版本 2. 模块信息:   1) @var        --> 模块变量说明   2) @typedef --> 模块变量
doxygen 注释规范_Doxygen注释规则
weixin_39610366的博客
12-19 2634
Mike的分享空间Doxygen注释规则date: 2015.05.04; modification:2015.05.04目录:1 注释模板1.1 头文件模板:/** @brief 摘要* @file 文件名* @author 作者* @version 版本号* @date 你啥时候搞的* @note 注解* @since 自从*/1.2 函数的注释:/*...
[①Doxygen]: 入门,注释语法简介
Eng_ingLi的博客
07-14 942
Doxygen软件说明书工具入门,使用注释生成说明书,注释语法简介
Doxygen(一) - 入门篇
jaystonezl的博客
08-31 526
介绍了Doxygen常用注释标记、注释编写和使用doxywizard的方法。
2024年代码文档生成工具Doxygen教程及实例,2024-2024阿里巴巴Golang面试真题解析
最新发布
2401_84925152的博客
05-14 876
doxywizard使用步骤其中math.hDoxygen生成的HTML会放到out目录下,生成的HTML如下图所示。HTML界面上面我们配置了一些选项,也成功生成了HTML文档。我们希望下次代码改动后能够继续沿用上次配置,那么我们可以把这些配置保存成Doxyfile文件,如下图所示。保存Doxyfile配置文件有了配置文件后我们完全可以通过命令行来生成API文档,假设配置文件名为Doxyfile,那么我们只需要执行doxygen /path/to/Doxyfile即可生成API文档。
华为C语言编程规范
足球中国的专栏
11-11 1758
C语言编程规范 一、简介 代码编写规则应该在建立一个工程项目之前,应该贯穿整个项目的始终,以保证代码的一致性。采用标准的代码编写惯例,可以大大简化项目的维护负担。采用一种好的风格,以达到以下目的:可移植性、连贯、整洁、易于维护、易于理解、简洁。 二、基本原则 制定标准的基本目的是加强代码的可维护性。也就是说代码必须易于阅读、易于理解、易于测试、易于移植。保持代码的简单清晰,不要在语言中使用晦涩难懂的表达,直接表明你的思想。保持一致性,尽可能使用同样的规则,避免使用复杂语句,一个语句若有太多的决策点将
基于Doxygen文档的C++注释原则
haoliliang88的博客
04-23 631
下载国外的源代码,往往能看到附带的说明文档,文档都有详细的说明,大部分文档都可以通过doxygen这个跨平台软件生成,doxygen并不能随便读取你的C++的注释,必须按照一定的规则才能生成,所以在编写代码时,一定要按照标准写注释,否则会为以后带来许多麻烦下面介绍C++的标注写法,c++不推荐c语言式的/* */风格注释,这里,除了文件头使用这种注释外其余到使用C++风格的注释。标注总述 1.文件...
代码注释规范doxygen
11-19
Doxygen是一个程序的文档产生工具,可以将程序中的注释转换成说明文档或者说是API参考手册,从而减少程序员整理文档的时间。
Doxygen代码注释规范.docx
07-15
Doxygen 代码注释规范 Doxygen 是一种开源跨平台的,以类似 JavaDoc 风格描述的文档系统,完全支持 C、C++、Java、Objective-C 和 IDL 语言,部分支持 PHP、C#。Doxygen 可以从一套归档源文件开始,生成 HTML 格式...
Doxygen代码注释规范
02-06
自己的编写的Doxygen代码注释规范,包括安装、使用和规范,很详细。可以直接生成.chm格式的注释文档,对于大型程序开发很有帮助。
Doxygen代码注释标准.7z
10-21
资源包含整套doxygen工具,用于符合doxygen注释规范的文档生成,使用方法全面,工具更新到2021年12月份,代码注释要求看我的博客
Doxygen-1.9.1.zip
03-06
最新版doxygen(window版),适用于32 ,64位操作系统,doxgen用于代码文档生成,支持c++, java...。软件介绍,编码规范等。包含doxygen-1.9.1-setup.exe、简介、安装及使用、doxygen讲解、doxygen注释语法。
c++ main函数调用 类中的枚举_利用Doxygen给C程序生成注释文档
weixin_39600823的博客
11-21 356
利用Doxygen为C程序生成注释文档一、Doxygen工具的安装利用Doxygen工具生成API帮助文档需要下载安装以下三个软件:(1)Doxygen:可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。本文中所使用的版本为:Doxygen-1.8.18.(2)Htmlhelp:该软件可以帮助您建立 HTML 格式的 HELP 文件。用于创建....
c代码Doxygen注释规范
大娱乐家
03-10 5037
c代码Doxygen注释规范 前言:良好得注释风格利于后期维护和团队协作开发,使得代码逻辑清晰,意图明了。Doxygen是一种能自动提取代码注释生成版主文档的开源软件,它是跨平台的。非开源项目也许并不需要有这样一份帮助文档,但Doxygen注释规范也不失为一种好的风格,可以推广遵守。 Doxygen注释规范模板 文件注释模板 /** * @file 文件名(*.h/*.c) * @b...
Doxygen 函数注释
程序员Link
05-16 2525
一 demo class FunctionDemo{ public: /** * @brief func是一个普通成员函数 * * @param a [in] param a * @param b [in, out] param b * @param c [out] output * @return int * @retval * 1...
doxygen 注释规范_自用的C++代码Doxygen注释规范(一)
weixin_33754744的博客
01-26 792
Doxygen是目前流行的一种文档生成工具,对于自身查阅、团队合作、与人交流代码都有积极作用。为了统一、规范使用,特此整理以下方式来编写doxygen注释,此规范用于我自己的C++代码编写中。在我的软件项目中,doxygen的相关注释与文档被视为源代码的一部分,并不是可有可无的,而是必须有。我学习使用doxygen的时间还很短,还有很多不足之处,敬请谅解。这篇博客的内容很可能会经常进行修改,所以如...
基于Doxygen的C/C++注释原则
arthurchn的博客
12-06 639
基于Doxygen的C/C++注释原则 标注总述 1.文件头标注 2. 命名空间标注 3. 类、结构、枚举标注 4. 函数注释原则 5. 变量注释 6. 模块标注 7. 分组标注 总述 华丽的分隔线 //--------------------------------------------------------------------------- // Platform Defines /...
Doxygen注释规范
wyxTech的专栏
02-01 1158
本文就简单的介绍一下doxygen的文档注释方法,以供初学者参考:    1. 模块定义(单独显示一页)  /*   * @defgroup 模块名 模块的说明文字   * @{   */     ... 定义的内容 ...    /** @} */ // 模块结尾  2. 分组定义(在一页内分组显示)  /*   * @name 分组说明文字   * @{  
使用 doxygen注释
zhyh1435589631的专栏
10-25 1850
1. 前言一直知道写代码应该需要写注释, 写说明文档, 可是真正要单独写起来的时候真的非常讨厌, 直到后来发现了这么一个工具 doxygen, 真的非常好用, 他可以通过类似java 注释的风格进行编写注释, 然后通过他可以自动生成注释文档, 神器呀~~ 代码注释风格 : http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html mar
doxygen注释规范
03-07
doxygen注释规范是一种用于生成文档的注释规范,它可以帮助开发者自动生成代码文档,提高代码的可读性和可维护性。在编写注释时,需要遵循一定的格式和规范,例如使用特定的标记来标识函数、变量、参数等,以及提供必要的描述和说明。同时,还需要注意注释的位置和内容,以便生成的文档能够清晰地反映代码的结构和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 无线信号的调制方式 OOK、ASK、FSK、GFSK 51644
  • BLE蓝牙的连接和配对过程 41443
  • Cortex-M0和Cortex-M0+简介 24089
  • 加速度计和陀螺仪区别 12401
  • Silicon EFR32BG22低功耗蓝牙开发入门篇 11002

分类专栏

  • 工具 4篇
  • 语言 8篇
  • silicon 9篇
  • wifi 3篇
  • freeRTOS
  • Nordic 17篇
  • BLE 18篇
  • Cortex-M 4篇
  • java 1篇
  • mesh
  • Windows编程 2篇
  • 嵌入式 13篇
  • Android 5篇

最新评论

  • 五 蓝牙低功耗(BLE)协议栈 之 ATT层

    captainfrm: 你给的这个前导码前面的8个字节 0x0d 0x03 0x0c 0x06 0x00 0x20 0x0d 0x14 代表啥意思?还是说这8个字节没有用的?我没有看到别的材料有写前导码前面的字节来的。

  • 无线信号的调制方式 OOK、ASK、FSK、GFSK

    wzhg329: 请问时间T是怎么约定的

  • BLE蓝牙的连接和配对过程

    wa_520: 太清晰嘞太详细嘞谢谢

  • Keil调试的时候会莫名的跳过某些行代码

    代码不黑我不黑: 大哥 你的解释虽然只有一整页,但是解决了我的烦恼,磕头了!!!!表情包

  • BLE 链路层(LL)的数据结构

    黑刀夜: 蓝牙核心规范文档里面的。https://www.bluetooth.com/zh-cn/specifications/specs/core-specification-5-1/

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Source Insight提示has line endings that are not consistent.Do you want to normalize it
  • C语言实现一个先进先出的队列
  • silicon labs平台通过串口升级固件方案
2023年3篇
2022年13篇
2021年17篇
2020年36篇
2019年8篇
2017年1篇
2016年1篇
2015年3篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司遂宁百搜标王哪家好大同网络广告推广推荐杭州设计网站公司鹤岗至尊标王哪家好永新百度关键词包年推广黔东南网站优化按天收费推荐永湖网站制作设计南京阿里店铺托管多少钱德宏高端网站设计推荐杭州营销网站哪家好龙华优化多少钱黔南企业网站建设保定网站推广报价宁德网站排名优化报价亳州网站制作设计报价晋中网页制作恩施网站优化按天收费公司玉溪网站优化按天计费多少钱兴安盟网站定制推荐平顶山网站建设多少钱菏泽建站价格荆州外贸网站建设推荐德宏网站改版公司哈密百度网站优化钦州网站搭建哪家好成都百姓网标王推广公司海东外贸网站建设观澜优化价格东莞网站定制多少钱鹤壁网站制作公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化