花大量时间学习MFC值得吗?

petershijin 2011-11-15 04:47:26
听说现在不流行MFC了!说白了就是做MFC的拿工资不高(比起做网络、图形图像、游戏方向的)。
兄弟们能不能证实MFC现在的情况呢?
...全文
3474 86 打赏 收藏 转发到动态 举报
写回复
用AI写文章
86 条回复
切换为时间正序
请发表友善的回复…
发表回复
埋bug的明叔 2011-11-18
  • 打赏
  • 举报
回复
......这个东西貌似到晚期了。。
Felomeng 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 84 楼 xiaopo_poxiao 的回复:]

学会了,值;没学会,不值。
[/Quote]
学没学会都不值了,同样的时间去学习更先进的技术,才值。

建议楼主不要在这类垃圾上面浪费时间了,以后windows平台的底层,是.NET的动作机制或WINRT,win32API将惨遭淘汰!
寒沙胜雪 2011-11-17
  • 打赏
  • 举报
回复
学会了,值;没学会,不值。
  • 打赏
  • 举报
回复
学了MFC一年多了 其实学什么无所谓 好好坚持学下去就对了 顺便说一句 MFC我觉得不错
chq3109006407 2011-11-17
  • 打赏
  • 举报
回复
有点想学~
leonliu 2011-11-17
  • 打赏
  • 举报
回复
学完C++,刚开始学MFC...
还是坐下来听一下大家的高见.
xengine-qyt 2011-11-17
  • 打赏
  • 举报
回复
楼主,搞操作系统和编译器开发吧,那个赚钱!!!
Emiyasstar__ 2011-11-17
  • 打赏
  • 举报
回复
只能说,学会MFC肯定没有坏处,学会它的思想就会收获很多
小竹z 2011-11-17
  • 打赏
  • 举报
回复
都说mfc是垃圾,可是还是有那么多公司用呢,就像侯杰说的,MFC是微软的东西,这条理由就值得你学习了。
dungeonsnd 2011-11-17
  • 打赏
  • 举报
回复
赤丶月炎 2011-11-17
  • 打赏
  • 举报
回复
光说界面MFC是会被淘汰,但软件中功能的实现C不会被淘汰,其实现在UI和核心代码就分开开发了,光追求前台样式还是去做UI设计的好~~~
ju136 2011-11-17
  • 打赏
  • 举报
回复
不要花太多时间在这种只是做做界面的东西上面。至少我的理解是MFC 是用来做界面的(虽然会涉太一些Windows API)。现在用得很少了。Windows上做界面炫的多了去了,Linux上又不会用。

还是老老实实搞数据结构,算法,C/C++,操作系统 Linux,网络,嵌入式,这种东西。
jinhaolin 2011-11-17
  • 打赏
  • 举报
回复
多懂一门还是很有好处的,能多学点就多学点!
momofendou 2011-11-17
  • 打赏
  • 举报
回复
我觉得MFC编一些普通的应用程序还是很不错的,用起来很方便。个人感觉对于在线产品用起来还是感觉不是很好!还是要看做什么吧,如果只是搞工程开发上位机软件,就编程软件来说,MFC还是挺实用的,如果想专门做编程的话,还是学学QT或者别的吧。
chainyu 2011-11-17
  • 打赏
  • 举报
回复
不要被自己的思维局限了
弱水垂钓 2011-11-17
  • 打赏
  • 举报
回复
总之领导分给你任务,你能完成就可以,管他什么语言
  • 打赏
  • 举报
回复
边用边学,边学边用,MFC有点难,俺就是从用MFC开始学C++的
HaoYuan 2011-11-16
  • 打赏
  • 举报
回复
学习UC吧,Unix感觉前途还是很好的,再学QT,mfc不要花太长时间,能够理解框架就行。
一见 2011-11-16
  • 打赏
  • 举报
回复
多年前,我们就追求MFC和Delphi,现在都好少听说了
skuall2005 2011-11-16
  • 打赏
  • 举报
回复
楼主你要清楚 MFC这是个什么东西。
首先:你会了MFC 你能保证你了解windows原理和基本的SDK的API吗?但是反个方向说 如果你会了windows的SDK,你能保证你会用MFC。而不知道windows原理,用SDK其实也会出现你不知道为什么会错的问题。MFC其实就是将一系列SDK封装起来的库。比如MFC框架不在用了,你留下的是什么?可以会有一点原理。但是对SDK,如果不用了,那大家都换操作系统了。一层封装的东西你觉得有多少价值就有多少。就象一整栋楼里面的一间房屋,冰山一角。
其次:网络、图形图像、游戏方向等。比如游戏建立在DX上面可以说只需要理解一些API。图形大多在于算法和数据结构,网络则是建立在sdk上开发的应用。以上的东西都是专业性方向发展,而基础就是SDK,你觉得MFC会比他们过得好吗?

说得难听点 MFC我从不用。 我用sdk一样写代码 一样自己封装后有快速开发能力,最多就是多写点代码,控件要自己创建麻烦点,但所学的东西 绝对不比MFC少。
加载更多回复(65)
日历控件类名:CalendarMonthControl 开发平台:Visual Studio 2008 字符集:使用 Unicode 字符集 此项目的源码涉及到了以下方面的知识和技术: 1. Windows窗体坐标(逻辑坐标,客户区坐标概念)。 2. 图像自绘(不是MFC来绘制而是自已来管理一切)。 3. 双缓冲技术运用(有时侯自绘的控件可能会有“闪烁感”,在这里你可以找到解决方法)。 4. STL运用(软件开发第一准则:“不要重复造轮子”)。 5. DirectUI思想(思想决定一切)。 6. C++设计模式(清晰的构架对一个项目来说是至关重要的,而无论这个项目大小) 项目介绍: 虽然就技术上来讲重新设计和开发一个类似于Windows时间控件的技术并不难,但是如果能够在能够很好很方便的运行的基础上再考虑到美观,易用,可扩展性,构架清晰等方面那也不算太容易。从某种意义上来说这个项目算得上是STL的一个小作品,因为此项目所使用的数据结构和算法全部是由STL所提供的,由于大量使用STL来进行数据处理,以及在图像绘制方面使用了流行的双缓冲技术所以整个系统能够得到极高的性能,当然即便如此此项目仍然还有许多可以优化的空间,它的性能还没有被发挥到最优,例如显示月份的单元格是由vector动态的push_back,但是如果你认真分析后会发现实际上这些单元格是固定的,也就是说在构造函数中就可以new一个固定大小的内存空间来供vector使用,而不用每次都动态的push_back。我在整个项目的设计上了一些时间来保证代码的层次结构清晰,同时也使用了一些C++里面的高级技术,例如多重继承,重载,虚函数,虽然不多,但是尽量保证了恰到好处。 作为一个程序开发的新手,或许能够从这个项目中得到一些思路。实际上这个项目被重写过一次,第一次的设计完全是面向过程的,谈不上设计,因为整个项目就是一个类,或许这段代码在以前可能称得上算是一个“牛X”的作品,但是在设计模式大行其道的今天最多算得上是污染开发人员视觉的产物,优其可读性和扩展性均不能达到要求,这一版本是完全基于面向对象的思想来进行设计的,所以比上一个版本更容易阅读也更具层次感觉。 此项目源代码虽然不多,但是在许多地方使用到的一些技巧仍然值得新手学习,例如在与用户交互事件设计及处理方面(OnClick,OnMove)就使用了DirectUI的思想,控件中将月份和年份的区域当作一个逻辑区域来对待,将每一天或每一月看作为一块小的逻辑区域(用RECT标识),最终将这些区域的逻辑图形绘制到一个DC上,同时使用统一的数据管理对象来管理这些区域的事件及处理(极到位的运用了C++类设计原则的部分思想),这样一方面保证了绘制效率,另一方面增强了控件的可扩展性和可管理。这也正是DirectUI的核心思想。 最后非常感谢你时间来阅读这些文字,同时希望你认为费这些时间值得的。
标准c库大全:C++标准库介绍 疯狂代码 http://CrazyCoder.cn/ ĵ:http:/CrazyCoder.cn/VC/Article12860.html   标准库中提供了C基本设施虽然C标准库随着C标准折腾了许多年直到标准出台才正式定型但是在标准库实 现上却很令人欣慰得看到多种实现并且已被实战证明为有工业级别强度佳作 1、Dinkumware C Library 参考站点:http://www.dinkumware.com/ P.J. Plauger编写高品质标准库P.J. Plauger博士是Dr. Dobb\'s设计杰出奖获得者其编写库长期被Microsoft采 用并且最近Borland也取得了其OEMlicense在其C/C产品中采用Dinkumware库 2、RogueWave Standard C Library 参考站点:http://www.roguewave.com/ 这个库在Borland C Builder早期版本中曾经被采用后来被其他库给替换了笔者不推荐使用 3、SGI STL 参考站点:http://www.roguewave.com/ SGI公司C标准模版库 4、STLport 参考站点:http://www.stlport.org/ SGI STL库跨平台可移植版本 C各大有名库介绍——准标准库Boost   Boost库是个经过千锤百炼、可移植、提供源代码C库作为标准库后备是C标准化进程发动机的 Boost库由 C标准委员会库工作组成员发起在C社区中影响甚大其成员已近2000人 Boost库为我们带来了最新、最酷、最 实用技术是不折不扣“准”标准库 Boost中比较有名气有这么几个库: Regex 正则表达式库 Spirit LL parser framework用C代码直接表达EBNF Graph 图组件和算法 Lambda 在地方定义短小匿名对象很实用functional功能 concept check 检查泛型编程中concept Mpl 用模板实现元编程框架 Thread 可移植C多线程库 Python 把C类和映射到Python的中 Pool 内存池管理 smart_ptr 5个智能指针学习智能指针必读份不错参考是来自CUJ文章: Smart Poers in Boost,哦这篇文章可以查到CUJ是提供在线浏览中文版见笔者在Dr.Dobb\'s Journal软件 Software研发杂志第7辑上译文   Boost总体来说是实用价值很高质量很高库并且由于其对跨平台强调对标准C强调是编写平台无关现代C开 发者必备工具但是Boost中也有很多是实验性质东西在实际开发中实用需要谨慎并且很多Boost中库功能堪称对 语言功能扩展其构造用尽精巧手法不要贸然时间研读Boost另外面比如Graph这样库则是具有工业强度结构 良好非常值得研读精品代码并且也可以放心在产品代码中多多利用 参考站点:http://www.boost.org C各大有名库介绍——GUI   在众多C库中GUI部分库算是比较繁荣也比较引人注目在实际开发中GUI库选择也是非常重要件事情下面我 们综述下可选择GUI库各自特点以及相关工具支持 1、MFC   大名鼎鼎微软基础类库(Microsoft Foundation Class)大凡学过VC人都应该知道这个库虽然从技术角度讲 MFC是不大漂亮但是它构建于Windows API 的上能够使员工作更容易,编程效率高减少了大量在建立 Windows 时必须编写代码同时它还提供了所有般 C 编程优点例如继承和封装MFC 编写在各个版本 Windows操作系统上是可移植例如在Windows 3.1下编写代码可以很容易地移植到 Windows NT 或 Windows 95 上但是在最近发展以及官方支持上日渐势微[Page] 2、QT 参考网站WebSite:http://www.trolltech.com   Qt是Trolltech公司个多平台C图形用户界面应用框架它提供给应用开发者建立艺术级图形用户界面所需所 用功能Qt是完全面向对象很容易扩展并且允许真正地组件编程自从1996年早些时候Qt进入商业领域它已经成 为全世界范围内数千种成功应用基础Qt也是流行Linux桌面环境KDE 基础同时它还支持Windows、Macosh、 Unix/X11等多种平台 3、WxWindows 参考网站WebSite:http://www.wxwindows.org   跨平台GUI库其类层次极像MFC所以有文章介绍从MFC到WxWindows代码移植以实现跨平台功能通过多 年开发也是个日趋完善GUI库支持同样不弱于前面两个库并且是完全开放源代码新近C Builder XGUI设计器就 是基于这个库 4、Fox 参考网站WebSite:http://www.fox-toolkit.org/   开放源代码GUI库作者从自己亲身开发经验中得出了个理想GUI库应该是什么样子感受出发从而开始了对 这个库开发有兴趣可以尝试下 5、WTL   基于ATL个库使用了大量ATL轻量级手法模板等技术在代码尺寸以及速度优化方面做得非常到位主要面向 使用群体是开发COM轻量级供网络下载可视化Control控件开发者 6、GTK 参考网站WebSite:http://gtkmm.sourceforge.net/   GTK是个大名鼎鼎C开源GUI库在Linux世界中有Gnome这样杀手应用而Qt就是这个库C封装版本 C各大有名库介绍——网络通信 1、ACE 参考网站WebSite:http://www.cs.wustl.edu/~schmidt/ACE.html   C库代表超重量级网络通信开发框架ACE自适配通信环境(Adaptive Communication Environment)是可 以自由使用、开放源代码面向对象框架在其中实现了许多用于并发通信软件Software核心模式ACE提供了组丰 富可复用C包装外观(Wrapper Facade)和框架组件可跨越多种平台完成通用通信软件Software任务其中包括:事 件多路分离和事件处理器分派、信号处理、服务化、进程间通信、共享内存管理、消息路由、分布式服务动态 (重)配置、并发执行和同步等等 2、StreamModule 参考网站WebSite:http://www.omnarious.org/StrMod   设计用于简化编写分布式库尝试着使得编写处理异步行为更容易而不是用同步外壳包起异步本质 3、SimpleSocket 参考网站WebSite:http://home.hetnet.nl/~lcbokkers/simsock.htm   这个类库让编写基于客户/服务器更加容易 4、A Stream Socket API for C 参考网站WebSite:http://www.pcs.cnu.edu/~dgame/s/sC/s.html   又个对Socket封装库 C各大有名库介绍——XML 1、Xerces 参考网站WebSite:http://xml.apache.org/xerces-c/   Xerces-C 是个非常健壮XML解析器它提供了验证以及SAX和DOM APIXML验证在文档类型定义 (Document Type DefinitionDTD)方面有很好支持并且在2001年12月增加了支持W3C XMLSchema 基本完整 开放标准 2、XMLBooster[Page] 参考网站WebSite:http://www.xmlbooster.com/   这个库通过产生特制parser办法极大提高了XML解析速度并且能够产生相应GUI来修改这个parser在 DOM和SAX两大主流XML解析办法的外提供了另外个可行解决方案 3、Pull Parser 参考网站WebSite:http://www.extreme.indiana.edu/xgws/xsoap/xpp   这个库采用pull思路方法parser在每个SAXparser底层都有个pullparser这个xpp把这层暴露出来直接给大 家使用在要充分考虑速度时候值得尝试 4、Xalan 参考网站WebSite:http://xml.apache.org/xalan-c/   Xalan是个用于把XML文档转换为HTML纯文本或者其他XML类型文档XSLT处理器 5、CMarkup 参考网站WebSite:http://www.firstobject.com/xml.htm   这是种使用EDOMXML解析器在很多思路上面非常灵活实用值得大家在DOM和SAX的外寻求点灵感 6、libxml http://libxmlplusplus.sourceforge.net/   libxml是对著名libxml XML解析器C封装版本 C各大有名库介绍——科学计算 1、Blitz 参考网站WebSite:http://www.oonumerics.org/blitz   Blitz 是个高效率数值计算库它设计目是希望建立套既具像C 样方便同时又比Fortran速度更快数值计算环 境通常用C所写出数值比 Fortran慢20%左右因此Blitz正是要改掉这个缺点思路方法是利用Ctemplate技术执行 甚至可以比Fortran更快   Blitz目前仍在发展中对于常见SVDFFTsQMRES等常见线性代数思路方法并不提供不过使用者可以很容易 地利用Blitz所提供来构建 2、POOMA 参考网站WebSite:http://www.codesourcery.com/pooma/pooma   POOMA是个免费高性能C库用于处理并行式科学计算POOMA面向对象设计方便了快速开发对并行机器 进行了优化以达到最高效率方便在工业和研究环境中使用 3、MTL 参考网站WebSite:http://www.osl.iu.edu/research/mtl   Matrix Template Library(MTL)是个高性能泛型组件库提供了各种格式矩阵大量线性代数方面功能在某些 应用使用高性能编译器情况下比如Intel编译器从产生汇编代码可以看出其和手写几乎没有两样效能 4、CGAL 参考网站WebSite:www.cgal.org   Computational Geometry Algorithms Library目是把在计算几何方面大部分重要解决方案和思路方法以 C库形式提供给工业和学术界用户 2009-2-12 3:54:40 疯狂代码 http://CrazyCoder.cn/

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧