给自己加油,一定要学会MFC!(刚刚发现一篇文章,兼听则明: MFC,一开始就错了)
我自己对于没有学会MFC始终耿耿于怀,都什么时代了啊,但是我仍然坚持会去学MFC,因为MFC虽然落后与复杂,但是在Windows平台上仍然是无所不能的(其实Windows平台仍然是唯一可以赚钱的平台,看看QQ就只提供Windows版本,虽然它早就换掉了MFC、使用DIRECTUI开发)。何况我是一个后知后觉的程序员,对编程世界的窥探只是略知一二,既然我从VCL里学到那么多营养和技巧,MFC当然也可以,何况不学会SDK和MFC,又怎么能真正说自己懂Windows开发呢?会SDK和MFC还可以让自己深入Windows底层做开发。再说学MFC有那么难吗?我也算已经精通C++,并且掌握大多数Windows消息与API的使用,还可以横向与VCL进行比较,所以不要害怕,一定要把MFC踩在自己脚下,特此写一点笔记给自己加油!
--------------------------------------------------------------------------------------
学习和使用了这么久Windows编程,不仔细学习直接处理消息和申请使用内存等特点(而不是把相关内容托管给语言或者框架),那样的话,就只能停留于开发应用软件层,无法做到知其然和所以然。所以必须学习MFC,才可以随心所欲的掌控Windows下的一切资源。但现在MFC的工作机会有点少,因为一方面在应用开发层可替代的语言太多,尤其是C#和VB,当然还有Delphi,另一方面MFC本身太复杂,也不够现代化,杀鸡用牛刀,学习和招人的成本都很高,不清楚维护项目的成本高不高。我只能说MFC是深入学习和理解C++/面向对象/COM/Windows消息/Windows底层/开发驱动和超难工具的一个好东西,否则就很难用到它,很难用到的意思是,不是它不好,而是。。。但是对于我个人而言,C++基础已经很强了,消息机制也理解的不错了,为什么不顺带深入研究一把呢?虽然它不能立刻带来产品开发上的好处。何况MFC尽管落后,但也是大师们创造和实现的,对于我这样一个没有能力实现同等框架的小白来说,必然还是有许多可学之处的。所以MFC必须学,没有选择。
开发世界里,服务器被Linux编程分掉很大一部分,PC开发被手机App分掉一部分,剩下的桌面开发被C#分掉很大一部分,且VB和Delphi同样不甘示弱也要分掉一小部分,Web更是被PHP和Java瓜分完毕,所以留给MFC的领域真的很少了,不过这只是市场面上的分析,与我个人无关。
--------------------------------------------------------------------------------------
刚刚发现一篇文章,兼听则明:
MFC,一开始就错了
http://www.cppblog.com/huaxiazhihuo/archive/2012/05/30/176751.aspx
给自己加油,一定要学会MFC!(刚刚发现一篇文章,兼听则明: MFC,一开始就错了)的更多相关文章
- 测试一下Word发布刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了。
刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了. 刚刚发现通过Word 可以直接发Blog 感觉很新奇,先看看,如果可以呢,将发通知的改了. ...
- MFC下调用控制台和控制台下MFC库的支持
1.MFC下调用控制台 在CWinApp的InitInstance中对话框的DoModal之前加入 AllocConsole(); // 开辟控制台 SetConsoleTitle(_T(" ...
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html 上一讲中讲了VS20 ...
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种顾名思义. ...
- MFC学习笔记(一): 不用MFC向导如何新建一个MFC程序
使用Visual Studio新建一个空项目,项目命名为HelloMFC,完成后,打开项目属性页面,将配置属性选项卡中的常规项打开,将其中的MFC的使用属性栏改为:在静态库中使用MFC或者在共享DLL ...
- VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)
上一节中鸡啄米讲了CFile文件操作类,本节主要来说说MFC异常处理. 在鸡啄米C++编程入门系列的最后一节鸡啄米:C++编程入门系列之五十(异常处理)中,鸡啄米讲了C++标准异常的处理机制,如果你还 ...
- MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC(转)
原文转自 https://blog.csdn.net/albertsh/article/details/52838419 1.使用标准Windows库 使用WINDOWS SDK API库,不使用MF ...
- 【转】一篇文章,教你学会Git
一篇文章,教你学会Git 在日常工作中,经常会用到Git操作.但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼.本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令 ...
- 我不信这篇文章能让你学会C语言,但是我还是想分享一下!
前言 C 语言是一门抽象的.面向过程的语言,C 语言广泛应用于底层开发,C 语言在计算机体系中占据着不可替代的作用,可以说 C 语言是编程的基础,也就是说,不管你学习任何语言,都应该把 C 语言放在首 ...
随机推荐
- 《开源公开课分享》:Java开源框架案例分享
缺乏高端技术人才?缺乏开发标准? 代码复用性低?技术风险难于把控? 招聘成本高?培训成本高? 假设想法不够雄伟,那么就会局限于细节:假设一開始就铺很大的摊子,将会失去控制: ...
- 不是IT圈人的IT创业优劣势!
不是IT圈人的IT创业优势: 1)更尊重市场导向而非技术 2)更关注产品细节而非技术 3)更关注企业平衡而非技术 不是IT圈人的IT创业劣势: 1)因营销而放弃技术规划 2)因需求而丧失技术 ...
- “ping”命令的原理就是向对方主机发送UDP数据包,HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”
Socket 是一套建立在TCP/IP协议上的接口不是一个协议 应用层: HTTP FTP SMTP Web 传输层: 在两个应用程序之间提供了逻辑而不是物理的通信(TCP UDP) T ...
- Gmail 收信的一些规则
Gmail 收信的一些规则 用 apache+php+MDaemon 调试 mail2www 时,发往gmail的邮件失败, 提示: Our system detected an illegal at ...
- 将一个字符串当做一个方法名或对象的key
var func = "test" // 方法 [func](){ console.log("test===>") } //调用 test() //打印 ...
- java的23中设计模式
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...
- Mongodb总结2-Java版本的HelloWorld-CRUD例子
2013年,写的CRUD太简单了,今天在原来的基础上,稍微完善了下,用了更多语法,比如排序sort.in语句等. 参考了<Mongodb权威指南-第1版-高清>,等下上传到CSDN下载频道 ...
- Java Web学习总结(11)——Session使用示例教程
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- JS版微信6.0分享接口用法分析
本文实例讲述了JS版微信6.0分享接口用法.分享给大家供大家参考,具体如下: 为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了<微信公众平台关于整顿诱导分享及诱导关注 ...
- Oracle 中的Interger类型
引自 wolfAone, oracle有没有integer类型,这种类型的最大值是多少啊. Integer是Number类型的子类型: NUMBER Type You use the NUMBER d ...