原文:http://yyguangzheng.blog.163.com/blog/static/603488402014102215153610/

说明:这篇日志我不知道怎么命名好,虽然内容很少,但是讲的关键字很多,如果你有幸打开这篇日志,不妨往下看看

背景:我们使用 VC++6.0 开发MFC应用程序,初学者一定会为那么多行的注释代码感到头痛,下面就说说这些有益无意义的注释


//{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT 我们看到很多这样打头的代码,其中典型的一个,在你应用程序的 CApp 头文件中

// Implementation
 //{{AFX_MSG(CHelloMFCApp)
 afx_msg void OnAppAbout();
  // NOTE - the ClassWizard will add and remove member functions here.
  //    DO NOT EDIT what you see in these blocks of generated code !
 //}}AFX_MSG

刚开始始终不知道注释干嘛的,后来看见中间的语句 afx_msg void OnAppAbout(); 其中的 afx_msg ,我查阅一些说明:
在afxwin.h中找到一些afx_msg的解释:  

#ifndef   afx_msg  
  #define   afx_msg    // intentional placeholder  
  #endif

intentional placeholder 故意的占位符,你可以翻译成有计划策略的占位符,总之就是一个没有实际意义的占位符,看定义就知道,没有起到什么作用,因为 #define 没有给他赋什么值。
    这个对编译器来说,相当于什么都没有;
    对于人来说,我们可以看到这样的符号;
    对于类向导来说.这个符号才是有意义的.它是一个消息处理函数的前缀.类向导生成的消息函数,分发函数,事件响应函数都以这个为前缀.如果去掉了,向导将不能识别。
afx_msg目前只是一个占位符,今后微软可能会赋予它确实的意义,来自MFC AFXWIN.H文件。
于是对比//{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT,得知这些有规律的注释是类向导自动生成的格式,用于识别具体的函数,以及他们的分类、位置,不能人为的随意更改,不然会导致类向导无法正确识别。
当然,如果你是纯手打代码,不适用IDE工作,那你删除这些代码倒也是不介意。前提是,你的层次已经到了那个程度。

转载于:https://www.cnblogs.com/zhehan54/p/4567811.html

【转载】特殊宏://{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT相关推荐

  1. 转载   banq---阎宏之间的恩怨

    我和banq之间的恩怨直到今日,让我感叹. 我们之间最早的摩擦开始于他的一篇关于Abstract Factory的网上文章,中间放了一张我在yesky.com的插图.他本人以免费刊载的方式鼓励转载,因 ...

  2. [转载]SYSCALL_DEFINE宏定义

    来源:http://blog.csdn.net/p_panyuch/article/details/5648007 SYSCALL_DEFINE3 在何处定义? #define SYSCALL_DEF ...

  3. AFX_VIRTUAL

    //{{AFX_VIRTUAL./{{AFX_MSG.//{{AFX_MSG_MAP.//{{AFX_DATA_INIT 我们看到很多这样打头的代码,其中典型的一个,在你应用程序的 CApp 头文件中 ...

  4. 宏基因组扩增子1图表解读-理解文章思路,零基础测序分析图表解读大全(箱线,散点,热,曼哈顿,火山,韦恩,三元,网络),老板再也不愁我的文献阅读了!

    本网内容转载自"宏基因组"公众号,更佳阅读体验.更多相关文章,欢迎点我跳转至公众号. 写在前面 (Introduction) 很多刚接触高通量测序数据分析文章的学生,感觉图表丰富多 ...

  5. 微生物组入门必读+宏基因组实操课程=新老司机赶快上车

    声明:本文转载自宏基因组公众号,原作者朱微金,己获作者授权. 写在前面 作为纯wet遗传学博士,转行微生物组领域已经有两年.目睹微生物组文章中分析所占比重之大,让我痛下决心苦学dry技能.目前感觉对宏 ...

  6. AFX_MSG是什么意思

    以前一直不知道AFX_MSG是什么意思,只是觉得它应该是个消息映射函数,但是具体代表什么意思,会返回一个什么样的值是一点都不清楚,今天查了下资料,把查到的东西放这,以免以后忘了还得再查. 在头文件(D ...

  7. 孙鑫-MFC笔记三--绘图

    一. 消息映射机制 在左边View类处点右键,在出现的菜单里点击"Add Windows Message Handler",在出现的对话框里选择"WM_LBUTTONDO ...

  8. C++小知识——VS2013 MFC基于对话框编程

    转载自:https://blog.csdn.net/wokaowokaowokao12345/article/details/53173966 前言 一直利用Qt库做Ui设计,但针对于一些MFC项目, ...

  9. 扫雷游戏的实现C++

    扫雷游戏是Windows操作系统自带的一个小游戏,几乎每个电脑使用者都接触过它.它同时也是一款比较经典的小游戏,实现它的方法很多,也可以用不同算法和语言实现.近期用了两个周末(各一天)和大半个月的空余 ...

  10. 详解DC、CDC、HDC、句柄、设备上下文

    最近那么长时间都没写博文.感觉经常写博文是好事.工作的时候项目是用MFC做的.百度了下说这个框架已经过时了.但是工作需要又不得不看,所以现在就之前看的一篇关于设备上下文的文章转载下 MFC中的DC.C ...

最新文章

  1. 爱说说技术原理方案的定选思考过程(一)
  2. JEECMS V3.0 常用标签使用说明
  3. extjs用iframe的问题
  4. Android IOS WebRTC 音视频开发总结(七九)-- WebRTC选择H.264的四大理由
  5. 【转载】大叔推荐博客索引
  6. git merge用法_常用命令之git操作(进阶篇)
  7. Spring Boot 单例模式中依赖注入问题
  8. Linux/Windows/MacOS各个操作系统下推荐应用集合
  9. 沉睡两三年,醒来又一春
  10. AI考拉技术分享会--IDE 常用功能 for Node.js
  11. restframework之节流
  12. ff14服务器延迟滑步,ff14滑步是什么意思
  13. 动态加载Web Service
  14. 最性感的肩膀纹身设计女装 - 5令人惊叹的设计,你会爱!
  15. Hypervisor
  16. Python相似度计算【大总结】
  17. Win10企业版系统安装 NET Framework 4.8的时候提示错误信息
  18. hevc_nvenc 详细分析2 ——preset分析
  19. FICO 发票校验时修改统驭科目
  20. 某广告SDK流量加解密-请求

热门文章

  1. 语义分割未来发展如何?
  2. 强烈推荐!FlyAI机器学习数据竞赛启动,丰厚奖金等你来拿
  3. 想转行,是要入坑Python还是Java?这问题还用问?
  4. 人工智能相关领域的国际顶会介绍
  5. java 5 线程 睡眠,Java并发编程实例--5.线程睡眠
  6. 结合图拉普拉斯的半监督学习
  7. modelsim和matlab联合仿真,Modelsim与Matlab联合仿真
  8. 计算机考研408试题及答案,2015年计算机专业408考研试题及答案
  9. Linux get cpu number,Linux上获取CPU Core个数的实现
  10. oracle 源代码输出,oracle-如何将DBMS_OUTPUT.PUT_LINE的输出重定向到文件?