当前位置: 首页 > news >正文

Visual Studio C/C++函数/方法使用Doxygen格式注释

前言:Visual Studio默认使用的注释格式为xml格式注释,注释使用方法为在需要注释的函数/方法的上一行输入"///"后自动插入xml格式注释模板,具体示例如下代码块所示:

/// <summary>
/// Windows凭据提供程序登录交互函数
/// </summary>
/// <param name="pqcws">登录状态提示指针</param>
/// <returns>返回成功或失败</returns>
HRESULT FPKCredential::Connect(_In_  IQueryContinueWithStatus* pqcws)
{HRESULT hr = S_OK;IQueryContinueWithStatus* pStatus = pqcws;for (int i = 0; i < 10 && pStatus->QueryContinue() == S_OK; i++) {Sleep(1000); // 模拟耗时操作std::wstring progressMsg = L"进度: " + std::to_wstring((i + 1) * 10) + L"%";pStatus->SetStatusMessage(progressMsg.c_str());}return hr;
}

但大多数C/C++库默认使用的注释格式为Doxygen格式注释,如opencv库、pcl库等,因此C/C++开发者也更喜欢使用Doxygen格式的注释,而Visual Studio又是大多数C/C++开发者绕不开的一块IDE,故存在Visual Studio中使用Doxygen格式注释的需求。

实现方法:在Visual Studio中安装Doxygen Comment插件,如图所示(此处已经安装):

安装插件完成后,在需要注释的函数上一行输入/**后回车或者输入/*!即可插入Doxygen格式的注释m模板,具体注释示例代码如下:

/*** Windows凭据提供程序登录交互函数.* * \param pqcws 登录状态提示指针* \return 返回成功或失败*/
HRESULT FPKCredential::Connect(_In_  IQueryContinueWithStatus* pqcws)
{HRESULT hr = S_OK;IQueryContinueWithStatus* pStatus = pqcws;for (int i = 0; i < 10 && pStatus->QueryContinue() == S_OK; i++) {Sleep(1000); // 模拟耗时操作std::wstring progressMsg = L"进度: " + std::to_wstring((i + 1) * 10) + L"%";pStatus->SetStatusMessage(progressMsg.c_str());}return hr;
}

其中,Doxygen Comment插件默认的函数参数与返回值的注释格式模板为\param、\return,此处可以自行修改为其它模板格式,如@param、@return格式,也可以进行更多形式的自定义,修改方法:工具->选项->Doxygen,然后根据个人需要的格式进行修改,如修改模板中的"\"为"@"、在函数说明前加入@brief等,具体如图所示:

函数/方法注释模板修改后为:

/*** $BRIEF$END.* * \param $PARAMS* \return $RETURN*/

函数/方法注释模板修改后为:

/*** @brief $BRIEF$END.* * @param $PARAMS* @return $RETURN*/

修改后注释格式如下示例代码所示:

/*** @brief Windows凭据提供程序登录交互函数.* * @param pqcws 登录状态提示指针* @return 返回成功或失败*/
HRESULT FPKCredential::Connect(_In_  IQueryContinueWithStatus* pqcws)
{HRESULT hr = S_OK;IQueryContinueWithStatus* pStatus = pqcws;for (int i = 0; i < 10 && pStatus->QueryContinue() == S_OK; i++) {Sleep(1000); // 模拟耗时操作std::wstring progressMsg = L"进度: " + std::to_wstring((i + 1) * 10) + L"%";pStatus->SetStatusMessage(progressMsg.c_str());}return hr;
}
http://www.dtcms.com/a/404106.html

相关文章:

  • 河北自助建站系统平台帝国cms源码
  • 信誉好的顺德网站建设团购网站案例
  • Coach系统精读分析:基于时序模式的云平台全资源超售【无标题】
  • 陕煤化建设集团网站矿建二公司奉化网站关键词优化费用
  • 产品网站开发服务阿里指数查询入口
  • 网站建设流程及相应技术网页升级访问中新每天正常更新中
  • 下沙做网站的网页设计模板html代码班级主题
  • 网站添加flv视频代码创意工作室网站
  • MySQL-事务基础
  • 学习游戏制作记录(史莱姆敌人的制作)
  • 创建一个网站一般步骤有哪些网站开发python
  • 江苏省建设厅官网网站首页网站建设二次开发怎么样
  • 安徽网站建设公司哪家好上海域名icp海网站建设
  • 北京住房城乡建设部网站首页搭建论坛需要多少钱
  • 养老网站建设方案咨询类网站建设方案书
  • Java算法起航:数据结构与复杂度入门
  • 市北区开发建设局 网站老客户网站建设
  • 足球直播网站开发定制检察院网站建设
  • dw软件网站建设教程视频云阳网站建设公司
  • Ubuntu 20.04上安装Miniconda3(一)
  • 免费网站模板素材一般淘宝网站做几个月赚钱
  • 可以做设计兼职的网站有哪些工作狮城app更多网站
  • 区域提议(Region Proposal)
  • 交互性强的网站龙轩导航
  • 为什么网站关键词没有排名产品推广ppt范例
  • 前沿系统级编程:Zig 与 Rust 技术深度解析与实践
  • Spring Boot 中@RestController注解的详解和使用
  • 滨州论坛网站建设怎样做网站 知乎
  • Vue.js响应式API
  • 汕头网站建设培训公司手机开发者选项怎么关闭