
为什么很多人不主张使用mfc
每个人可能都有自己的理由,我接触MFC也有很多年了,说下自己感受吧。
10多年前,MFC是windows平台上GUI编程框架的王者。
MFC 4.2和VC 6是当年的黄金组合,彻底打趴了Borland公司。
一是因为那个时候MFC是为数不多的比较完善的GUI框架之一,二是因为MFC可以说就是为WIN 95\\\/98量身定做的,很完美地支持当时看起来还很新的功能,比如DPI等。
后来嘛,VC从6.0版发展到了Visual C++ 2008,操作系统从win 98变成了Vista,而MFC虽然版本号一直在更新,但实质一直没有大的变化,许多新功能都不支持,比如Ribbon。
再后来,微软发布了Visual Studio 2008 SP1(就是Visual studio 2008的补丁包),引进了许多新功能比如Ribbon,标签式的MDI,可定制的dock窗口等,但是
这些代码不是微软自己写的
是微软从BCG Soft买的
而这些代码的质量明显不如之前微软自己的代码。
我自己就发现了不止一个bug。
。
并且似乎微软并没有投入多少精力来解决这些bug。
所以现在要写窗口程序,MFC肯定不会是我的第一选择。
求MFC经典入门
看书吧,mfc从入门到精通。
。
深入浅出mfc 这两本是介绍MFC的。
。
另外两本, 一本是老罗的 win32汇编程序设计 一本是windows程序设计 第五版。
为什么看windows程序设计第5版呢,因为它是C语言直接调用API函数的,这方便你理解MFC, 另外为什么看老罗的WIN32汇编程序设计,不是让你学汇编,是让你对于资源 消息机制等等 更多的了解。
。
Windows程序设计 和 MFC程序设计的区别
Windows程序设计一般是指用c语言编写windows应用程序,或叫做win32编程,MFC程序设计是利用C++,以MFC为基础编写windows应用程序;VC是一个开发工具,在这个开发工具里,可以进行win32编程和MFC程序设计。
学习C++中,想确定软件开发方向应该先学什么后学什么,比如MFC,ATL,STL之类的先后顺序还有什么需要学的
全没想到10多年后还有人纠结要不要学MFC,我花点时间给新人们一个总结。
第1种观点 学习完MFC,你会更理解编程的思想,再学别的语言就更快了。
话说小白要去美国学技术,大黑劝他说:“你为什么不先到朝鲜,然后从朝鲜再飞到美国”,小白茫然不解。
大黑接着说“你想你先到朝鲜再去美国,不是比从中国直接去美国近吗
”小白恍然大悟,“并且你到了朝鲜,那里有金太阳的照耀,你会更明白技术的思想。
后面再学任何技术都很快。
”于是小白去了朝鲜,然后他才知道原来朝鲜才是最好的地方,他给大黑打了长途电话,大黑问:“你感觉怎么样
”小白激动的说“我在学习用小刀刻芯片呢,听说美国都是动动按钮,学不到真正的东西。
”有的人要说“你看我就是先学了三年MFC,再学别的语言一样很快”,是,你要是先学三年JAVA或C#,再学别的语言会更快。
你学三年MFC不是去跟零相比,是跟学三年其它语言比。
在经济学上这叫机会成本,曼昆“你在面临选择的时候,要考虑的是机会成本”。
第2种观点 MFC接近于系统的底层,适合系统级的开发,学习他更能理解操作系统。
MFC能直接调用C,别的语言不能直接调用C吗
那.Net Interop是干什么的
醒醒吧
别说C,连MFC的DLL都有办法调用呢。
你真的觉得学习CDocument, CView, CWnd, CFrameWnd。
。
。
这些绕来绕去的东西会更理解Windows
要更深的理解Windows要学习Win32编程,学习Windows核心编程,不是那个MFC,再说WinRT比Win32要好用的多。
第3种观点 MFC开发的程序运行效率高MFC主要用来开发客户端程序,这里应该是跟C#对比,C#以前是托管程序,现在C#开发的Windows程序已经能编译成native了,运行效率提高了1.6倍左右吧,MFC是沉舟侧畔千帆过,船舱里的人还以为在乘风破浪。
对了,visual studio的界面是用什么开发的呢
还有一些观点,像什么刀呀剑呀,还有什么“你MFC用不好,也用不好C#”,就不一一列举了。
很多时候辩证法就是粗看去很有哲理,实际毫无实际的指导意义。
为什么还有一些人推荐MFC
话清末要废除科举制度,进京赶考的举子跪在外面绝食抗议,朝堂之上还有大臣坚持科举有多么好。
是啊,你想这些老秀才学习四书五经学了半辈子,一下子又不考了,多少年的心血白费了。
考物理,化学,代数,几乎给他们判了死刑。
对于一个多年学习MFC,又不会别的语言的人,基本上也是深度套牢了。
我记得冰河世纪里有一只老刺猬,洪水要来了,他躲在洞里不走“I was born in this hole and I'll die in this hole.”坚持是一种品质,顽固和守旧却是另外一回事了。
这对于新手来说是一个很好的教训。
为什么还有很多刚毕业的大学生学习MFC
因为他们的老师是上面所说的那些人。
MFC总有适合用的地方吧
有,适合用在上世纪90年代开发Windows客户端程序。
MFC现在一点用都没有了吗
不是,历史上遗留下来一些MFC的源代码需要维护。
可能偶尔会用几个开源项目,就像弹药不够的时候偶尔也拼一下刺刀。
MFC应该跟什么语言比较
Borland C++,VB6,Delphi,PB等。
什么人还需要关心一下MFC
IT历史学家需要大写特写MFC曾经短暂的辉煌,考古学家需要考证这块化石的时候。
刚学C++ MFC 基于ODBC变成的困扰 望高手给些经验
C++程序最重要的是学习它的面向对象化思想,包括对象的构造,类的属性,方法,事件。
光看代码怎么写是没意义的,老实说,我做了这么多年的WEB游戏,C#的一些类和方法还是记不住怎么写,因为面向对象化的类实在太多,要全记住是不可能的,但是
我们有互联网,很多东西你忘记了,但只要你记住了程序的思想就不要紧。
输入要调用类的名称,方法,属性;查一下,不同面向对象化语言的该类语法和调用就都有了,COPY一下就OK,语言可以随时代变化而变化,但思想是决对不会变的,所以不要拘泥于看这个代码字母怎么写,而是要透过这些,看到写这段代码的目的是为了想干什么。
这样在以后学更高级的语言,比如JAVA和C#的时候,都可以轻轻松松。
商品库存储管理系统,最重要的是数据的流动,相比ERP,这个更简单,唉,高校的老师是怕一些不上进的学生不想学,就发答案了,鄙视中国的高等教育……



