挺长时间了吧,这个帖子还没沉下去,使用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. jquery ajaxform上传文件返回不提示信息的问题

    在使用jquery的ajaxform插件进行ajax提交表单并且上传文件的时候,返回类型datatype :json但是后台通过写出一个json对象后,在执行完以后没有进入success函数,而是直接 ...

  2. caffe源代码分析--math_functions.cu代码研究

    当中用到一个宏定义CUDA_KERNEL_LOOP 在common.hpp中有. #defineCUDA_KERNEL_LOOP(i,n) \ for(inti = blockIdx.x * bloc ...

  3. linux nadianshi

    http://www.cnblogs.com/fnng/archive/2012/03/19/2407162.html

  4. 第一篇:数据库需求与ER建模

    前言 在数据库建设过程中,哪一步最重要?绝大多数资料会告诉你,是需求分析阶段.这一步的好坏甚至直接决定数据库项目的成败. 需求分析阶段,也被称为ER建模(entity-relationship mod ...

  5. bootstrap的流式布局

    Bootstrap---Fluid layout 流布局 流布局是一种适应屏幕的做法.即不固定块的宽度,而是采用百分比作为单位来确定每一块的宽度.这种布局非常适合一次编写,然后自适应各种不同大小的屏幕 ...

  6. IIS支持下载.config后缀名的文件

    这里用.config举例,其他类型文件同理. 设置MIME点击右侧添加,文件扩展名填写.config,MIME类型填写application/octet-stream.或者添加.*,将所有未列出的文件 ...

  7. C#截取字符串的方法小结

    1.根据单个分隔字符用split截取 string st="GT123_1"; string[] sArray=st.split("_"); 输出:sArray ...

  8. LINQ:使用Take和Skip实现分页

    随便找的,还没有试过代码. class Program { static int Main() { //每页大小 ; //页码 ; //源数据 string[] names = { "贤静& ...

  9. LINQ to SQL 基础

    取得数据库Gateway 要操作数据库,我们首先要获得一个DataContext对象,这个对象相当于一个数据 库的Gateway,所有的操作都是通过它进行的.这个对象的名字是“Linq to SQL ...

  10. WMI使用集锦

    转载:http://singlepine.cnblogs.com/articles/299457.html 1.WMI简介 WMI是英文Windows Management Instrumentati ...