挺长时间了吧,这个帖子还没沉下去,使用MFC开发有十多年了,结合自身的体会,随便说几句:
1、MFC是一个C++的基础类库,封装了绝大多数的API函数,主要是用来创建带UI的应用程序,服务端程序或着不带UI的模块用STL更好,不建议MFC;
2、MFC是一个框架型类库,封装复杂,为简化代码使用了大量的宏,隐藏了大量底层细节,初期接触会感觉晦涩难懂,对使用者的要求较高,学习周期长;
3、MFC中创建程序主要是SDI、MDI两种主要应用框架(对话框程序简单,不认为是框架),熟悉之后可以灵活扩展,同时自动获得了动态创建,序列化等通而重要的机制,不熟悉则会感觉无从下手;
4、MFC类库开放全部源码,在VC6配套的4.2版中连make文件都有,用户可以自行定制修改编译出自己的版本,之前就曾经为一直一个大量应用MFC的程序到LINUX平台,自行编译了一个跨平台的裁剪版MFC;
5、MFC诞生比较早,最终的4.0版好像是win95时代随着vc5发布的吧,后面的一系列版本感觉都没有颠覆性的变化,在PC满天下的时代,对PC端UI程序开发的支持,几乎是MFC的全部,对移动设备、触屏设备、嵌入式设备等平台的开发,尽管也有,但一直没成为主流,所以如果是非PC应用开发的话,建议您最好离MFC远一点;
6、MFC自身带的UI类,界面不够绚丽,一些复合型的复杂控件不够丰富,使用的时候最好搭配一些扩展类库BCG等;
7、个人感觉MFC只是一个擅长于PC平台UI应用程序开发的一套类库,QT感觉更倾向于写一些跨平台UI应用;
8、C#这些年也有所涉猎,但主要用来写WEB程序,桌面程序也写过,各种类封装的非常多,开发效率高,但是有时感觉封装过度,而且让使用者远离事情真相,有一种隔靴搔痒的感觉,对于我这种操作系统都想自己编译完跟进去调试的人来说,感觉超级别扭,另外一个就是运行期即时编译的方式也感觉很不爽,还有就是安全性,不混淆的代码用工具一分钟就能把源码逆出来,即便是混淆后的,如果抽一天时间学习以下IL,也是轻而易举的事情,凡此种种吧,.net基本上也是能不用则不用。

http://bbs.csdn.net/topics/391817496?page=12

MFC的优势:  比直接使用WINDOWS API开发界面快  有对象概念
MFC的缺点:  不能跨平台
                        开发速度慢
                        不支持界面数据分离 容易写出不可维护的代码
                        窗口太多需要关心双缓冲闪屏问题
                        界面开发速度普遍跟不上需求变更速度
                        
总之MFC垃圾的不能在垃圾了  它是垃圾中的战斗机 垃圾中的J-8  战斗力就是个渣渣

------------------------------------------------------------------------------

不能夸平台,是你自己方法不足
开发速度慢,是你自己经验不足
代码难维护,是你自己水平不足
双缓冲问题,是你自己能力不足

开不动飞机,就说飞机是垃圾
碰碰车最好开了,两岁的小屁孩都会,可先进

中国特色的工程师啊
天天嫌弃人家的集成环境
自己编一个集成环境不就有了吗?
写一个集成环境又不是很难

好了,2B们又来了
那那是一个人能做的啊,那得多有水平啊
2B们就这样
光想吃好的,还等别人喂到嘴
最后喂不到嘴的就是差评
最后也就只剩个B嘴了

http://bbs.csdn.net/topics/391817496?page=13

很多时候,使用的工具越先进,人越笨;得到得越轻松,人越懒。

C体系的,汇编体系的,以及汇编+C体系的人,绝对不怕人踢馆

------------------------------------------------------------------------------

没读过MSDN例子代码的Windows程序员都是在瞎混!
MSDN98\SAMPLES\VC98\*.*

想结束瞎混生涯的Windows程序员请下载安装MSDN98:
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,
MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl

MFC 2.0的源代码在Visual C++ 2.0的光盘上就有。
VC++2.0 MSVC20 "Microsoft Visual C++ Version 2.0" "1994 Microsoft Corporation"
http://download.csdn.net/detail/zhao4zhong1/3253384

Windows下的grep0
grep 多文件查找指定字符串 来自C:\Program Files\Borland\CBuilder6\Bin\
http://download.csdn.net/detail/zhao4zhong1/4381913

使用MFC开发有十多年了,结合自身的体会,随便说几句(不能样样都依赖别人,C体系的人,绝对不怕人踢馆)的更多相关文章

  1. 基于MFC开发的指纹识别系统.

    MFC-FingerPrint 基于MFC开发的指纹识别系统. 效果图如下: 在第12步特征入库中,会对当前指纹的mdl数据与databases中所有的mdl进行对比,然后返回识别结果. 一.载入图像 ...

  2. 新版.Net开发必备十大工具(转)

    Snippet Compiler Snippet Compiler是一个基于 Windows 的小型应用程序,你可以通过它来编写.编译和运行代码.如果你具有较小的代码段,并且你不想创建完整的 Visu ...

  3. 记Windows的一个存在了十多年的bug

    bug Windows有一个bug,持续了十多年,从Windows Visita开始(2007年),一直存在,直到Windows11(2021年)才修复(其实也不叫修复,后面我再具体说),而Windo ...

  4. 【转载、推荐】不要自称是程序员,我十多年的 IT 职场总结

    注评:一气读完后,有些和我的观点类似.这篇文章显然是外国老写的,但是不妨碍我们的跨国交流. 如果我可以给每个工程教育增加一门课,它不会涉及编译器.门电路或是时间复杂度,而是一门介绍行业现实的入门课,因 ...

  5. 程序员带你学习安卓开发,十天快速入-对比C#学习java语法

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  6. S3C2416裸机开发系列十六_sd卡驱动实现

    S3C2416裸机开发系列十六 sd卡驱动实现 象棋小子    1048272975 SD卡(Secure Digital Memory Card)具有体积小.容量大.传输数据快.可插拔.安全性好等长 ...

  7. vc++MFC开发上位机程序

    用vc++MFC开发过不少跟单片机通讯的上位机程序了.搞懂了MFC架构,开发还是很快的,与底层单片机程序通讯,可以用串口.usb.网络.短信形式.串口现在用的越来越少了,一般电脑跟单片机在一块,使用串 ...

  8. (转)不要自称是程序员,我十多年的 IT 职场总结

    其他: 我是一名程序员,工作很努力,为什么绩效还总是垫底? 外企,中年失业何去何从? 来公司半年了,也悟出了一些道理. 如果我可以给每个工程教育增加一门课,它不会涉及编译器.门电路或是时间复杂度,而是 ...

  9. 使用Visual Studio进行 Android开发的十大理由

    [原文发表地址]Top 10 reasons to use Visual Studio for C++ Android Development! Visual Studio: C++跨平台的移动解决方 ...

随机推荐

  1. Ken Norton和软件工程师打交道的10个秘诀

    How to work with software engineers - by Ken Norton Deflect praise Absorb blame Sweat the details In ...

  2. 【LeetCode】Swap Nodes in Pairs

    Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-& ...

  3. 互联网TCP/IP五层模型(一)

    转载自:阮一峰 我们每天使用互联网.你是否想过,它是怎样实现的? 全世界几十亿台电脑,连接在一起,两两通信. 上海的某一块网卡送出信号,洛杉矶的还有一块网卡竟然就收到了.两者实际上根本不知道对方的物理 ...

  4. Git客户端(Windows系统)的使用

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.5.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit:  ...

  5. Android的Touch系统简介(一

    一.Android touch事件的相关概念 用户的Touch事件被包装成MotionEvent 用户当前的touch事件主要类型有: ACTION_DOWN: 表示用户开始触摸. ACTION_MO ...

  6. 精准化测试专业平台Paw:苹果APP应用代码质量的守护者

    众所周知,一款苹果APP进入苹果应用商店后,要上排行榜,要被首页推荐,版本更新必不可少,但作为版本更新的关键所在,软件测试一直被业内吐槽“坑太多”,缺陷防不胜防.相关经验缺乏等等.若问如何“填坑”?以 ...

  7. Java基础知识强化之集合框架笔记09:Collection集合迭代器使用的问题探讨

    1.Collection集合迭代器使用的问题探讨: (1)问题1:能用while循环写这个程序,我能不能用for循环呢?                  可以使用for循环替代. (2)问题2:不要 ...

  8. sql server 2008 评估期已过期

    解决办法: 修改注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\ConfigurationState里的&quo ...

  9. Asp.net Core 部署到Azure.cn的一个小问题

    前一段尝试在azure.cn上部署Aps.net Core未成功,报503错误!在网上查到是Azure.cn的问题,未能完美支持Asp.net Core! Asp.net Core发表正式版了,又尝试 ...

  10. Codeforces#313

    A题 题意:给n个基础币值,问你是否能组成所有种类的币值,能则输出-1,不能则输出不能组成的最小币值. 思路:理解了题意就明白了,1是关键解. #include <iostream> #i ...