这几天一直在用Enterprise Architecture来抽象项目中要用到的一些数据结构和类,然后都做得差不多了之后发现,生成代码的时候.h文件中类成员函数部分没有注释,但是.cpp文件中的函数定义块却有注释,我觉得重点应该是要在头文件的成员函数声明的地方有注释效果更好,但是找了半天也没发现在哪里修改设置。

  然后找到了一个“代码工程模板”,里面有每个语言代码生成的时候用的模板,我不知道里面用的是什么脚本语言什么的,反正看着不是特别懂。

%synchNewClassNotesSpace="\n"%
%synchNewOperationNotesSpace="\n"%
%synchNewOperationBodySpace="\n"%
%synchNewAttributeNotesSpace="\n"%///
//  %fileName%
//  Implementation of the %elemType% %className%
//  Created on:      %eaDateTime%
%if classAuthor != ""%
//  Original author: %classAuthor%
%endIf%
///\n$COMMENT="WARNING: DO NOT MODIFY THIS TEMPLATE BELOW THIS POINT"
$guid = "EA_" + %TRIM(eaGUID,"{}")%
$guid = %REPLACE($guid,"-","_")%
$guid += "__INCLUDED_"
#if !defined($guid)
#define $guid\n
%ImportSection%
%list="Namespace" @separator="\n\n"%
#endif // !defined($guid)\n

  里面的C++代码生成部分模板代码如上。

  然后我就开始花了1个小时去分析他生成C++头文件中类的时候的操作,然后试图仿照他的样子去在模板中在成员函数声明前面加入这个函数的注释,结果实验了几个地方都没有效果,最后我注意到有一个变量。

  看下面两个模板:

  1.Operation Notes

  

%if genOptGenComments != "T" or genOptCPPGenMethodNotesInHeader != "T"%
%endTemplate%%PI=""%
$wrapLen = %genOptWrapComment%
$style = %genOptCPPCommentStyle%%if $style == "XML.NET"%
%XML_COMMENT($wrapLen)%
%elseIf $style == "JavaDoc"%
%JAVADOC_COMMENT($wrapLen)%
%else%
%CSTYLE_COMMENT($wrapLen)%
%endIf%

  2.Operation Notes Impl

%if genOptGenComments != "T" or genOptCPPGenMethodNotesInBody != "T"%
%endTemplate%%PI=""%
$wrapLen = %genOptWrapComment%
$style = %genOptCPPCommentStyle%%if $style == "XML.NET"%
%XML_COMMENT($wrapLen)%
%elseIf $style == "JavaDoc"%
%JAVADOC_COMMENT($wrapLen)%
%else%
%CSTYLE_COMMENT($wrapLen)%
%endIf%

  看到上面两个关键字没,然后我就google了genOptCPPGenMethodNotesInHeader这个词,发现一个网址,里面说了要让头文件中也有注释只需要修改一个软件的设置,结果就是因为Enterprise Architecture这个软件的设置不止在设置菜单中有,在工具——选项中也有部分设置,导致我绕了一个大圈子才发现解决方法。

  下面是传送门:

http://www.sparxsystems.com/enterprise_architect_user_guide/9.2/standard_uml_models/generation_option_field_substi.html

转载于:https://www.cnblogs.com/myme5261314/archive/2012/07/24/2607069.html

[原创]Enterprise Architecture V7.5 C++代码生成时,头文件中函数声明没有注释,CPP中函数定义却有注释。...相关推荐

  1. linux-gcc 编译时头文件和库文件搜索路径

    linux-gcc 编译时头文件和库文件搜索路径 一.头文件    gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始    ※然后找gcc的环境变量 C_INCLUDE_PATH,CP ...

  2. 关于51单片机keil编程时头文件的引用

    当项目中包含多个.c和.h文件时,倘若已引用的a.h中已经引用了b.h,则当a.c中要用到b.c的子程序时,不需要再在a.c文件上引用b.h 以下为例: 这是main.c文件内容,其中引用的是dela ...

  3. 头文件和源文件不在同一个目录时头文件路径

    环境:linux,vim,youcompleteme 头文件和源文件不在一个目录下,但在导入头文件时,不想写完整的头文件路径 比如:正常导入头文件应该写成  #include "/home/ ...

  4. C语言编译时无法打开文件,2812c语言编译时头文件无法打开

    引用:louiewong 写道: 全部错误显示如下: ------------------------------  pmsm.pjt - Debug  ----------------------- ...

  5. iOS架构-静态库.a编译时自动导出.h头文件(24)

    在使用Xcode成功编译一个静态库时,在对应的输出目录下有一个include目录,但是其中没有相关的.h头文件.由于.h文件和 .cpp文件是在同一个目录下,再加上文件数量较多,如果手动的将.h文件导 ...

  6. VS2008中源文件与模块生成时的文件不同,仍要让调试器使用它吗

    解决办法: 1.在工具-> 选项-> 调试-> 常规 里 把"要求源文件和版本匹配"的勾勾去掉 然后去掉"地址级的调试"的勾勾(这样就不会出现 ...

  7. 源文件与模块文件生成时的文件不同,仍要调试器使用它吗

    字体大小:大 中 小 源文件与模块生成时的文件不同,仍要让调试器使用它吗 (2011-03-21 20:06:58) 转载▼ 解决办法: 1.在工具-> 选项-> 调试-> 常规 里 ...

  8. 使用Enterprise Architecture绘制10种UML画画

    UML绘制10种课程要求UML画画,选Enterprise Architecture作为一个绘图工具,每一个草图必须是网上找教程,我觉得很麻烦,还有一些数字并没有找到详细的教程.在我自己找一个绘图方法 ...

  9. P16对member进行代码生成时,访问端口出现This application has no explicit mapping for /error, so you are seeing this

    P16时,当对member进行代码生成时,访问端口出现This application has no explicit mapping for /error, so you are seeing th ...

最新文章

  1. 【组队学习】【30期】7. CV中的Transformer
  2. 赠书 | 人工智能识万物:卷积神经网络的前世今生
  3. oracle votedisk 参数,11g r2 rac votedisk 及 ocr 磁盘破坏后,基于ocr备份的恢复步骤
  4. 众智日照分析软件_飞时达CAD日照分析计算软件FastSUN V14.0.1发布升级
  5. VS2010,C++ 制作静态库(*.lib),并使用
  6. 单双目相机畸变校正--极线校正
  7. 使用爬虫爬去网上的图片并保存
  8. [原]解决win2003 iis6 部署MVC 无法访问 403 的问题
  9. 95-34-020-Context-ChannelHandlerContext
  10. 如果彩虹QQ算非法外挂,那么运行在windows上的非微软开发的程序算什么?
  11. 算法工程师面试备战笔记5_下面哪个不属于数据的属性类别
  12. Bellman_Ford算法(求一个点到任意一点的最短距离)
  13. Android Studio下载SDK的链接
  14. 手机b站封面提取网站_B站视频封面提取网站
  15. Axure如何实现标签切换功能
  16. 基于stm32F1的蓝牙控制小车 全硬件代码开源
  17. 2021-03-22 什么是SFP端口
  18. 学生党无线蓝牙耳机推荐哪个,2022口碑最好的蓝牙耳机推荐
  19. 如何在 Linux 中查找一个文件
  20. 【算法】两道算法题根据提供字母解决解码方法和城市的天际线天际线问题

热门文章

  1. pandownload用户未登录_Pandownload再度复活,下载速度飙升到10MB/s以上
  2. matlab调用哈希表,ros与matlab联动使用
  3. php三种web开发技术,三种WEB开发主流技术ASP-PHP-JSP的评价
  4. java web svn_如何搭建svnadmin,一个简单的svnWEB页面
  5. android 通讯录 备份,安卓Android手机通讯录怎么备份 卓联系人备份 卓手机联系人导出...
  6. oracle数据库相关知识,Oracle数据库相关知识点复习
  7. linux如何用cat看一行数据库,linux的cat命令
  8. iphone如何查看dns延迟_iPhone手机网速慢?1分钟教你设置DNS,网速立马翻一番
  9. C++(STL):33---hash_set、hash_map、hash_multiset、hash_multimap源码剖析
  10. TensorFlow(4)-TFRecord