win32和mfc的开发的大概区别知道,我只想知道其主要的方向的区别。两个都是开发在在windows平台上运行的。能用
mfc开发的,我为什么要用win32api来开发呢,我只知道如,象一些windows上运行的3d引擎,都是用win32 api开发的所以,当我们进行二次开发肯定是用到win32 api但是,我觉得其他一些mis系统好像没有必要用api用mfc就可以了,反正编译出来的exe都是可以运行的。我不知道我有没有说明白。想到了再补充吧!谢谢高手的指点。。

解决方案 »

  1.   

    那要看你是否涉及到界面显示了 MFC用于界面比较方便的
      

  2.   

    MFC开发的程序要带运行时库。
      

  3.   

    MFC就是 微软给你包装了的库,提供了很多扩展功能,以及高级功能,这样方便你使用,而不是自己从头调用API来实现而API由于是MFC下一层,自然实现更灵活,可以根据你的需要来使用,不会被MFC类库所限制
      

  4.   

    mfc是封装的类,最后还是会调用win32api
    win32api开发效率是底一些,但比较自由.有时候mfc是封装的类不能满足我们的要求,这时就需要我们自己用api来开发啦
      

  5.   

    1 MFC 是对 API 的包装。所以能用MFC做的,肯定可以以API的方式实现。
    2 MFC在界面设计等方面比较方便,但是其不足之处也很多
      

  6.   

    win32和mfc编程的最大不同是
    win32是编程者自己把消息和响应函数联系在一起。
    mfc是编程者采用微软为我们做好了MESSAGE-MAP机制,来处理消息。--------------
    mfc是便利的,为什么有人不用呢?
    不用mfc的人群往往是从DOS时代开始从事窗口编程的人,他们早在mfc出世之前就编得一手好程序。
    长期的编程过程中,每人,每个TEAM都拥有了自己的消息处理机制程序库或类库。
    当然有很多人认为他的类库比mfc使用方便。他开始为窗口编程的时候,mfc的TEAM的很多人还在学校里读书呢。
    --------------
    如果不是从那个年代过来的人,还是用mfc吧!
    (瞎掰)
      

  7.   

    MFC是一个设计观点过时的库!
    如果楼主关注MFC,倒不如关注ATL+WTL组合。
      

  8.   

    底层的操作,有时需要高效一点,
    而Win32的定制强一点。
      

  9.   

    封装什么的我知道,我也稍微接触了点api的,我api在实际的应用方向等等,是不是只要是windows上都自带了mfc的运行时库啊。
      

  10.   

    MFC是专注于用户界面的,而Windows SDK专注于UI, console,Windows服务,嵌入式,驱动多种类型的程序
    MFC是一套类库,适应范围窄,可以搞ERP软件,但效率不如其他语言高,而且类库并没有对DDK,openGL,D3D等专项领导的函数库进行封装。而Windows SDK提供了专题开发的平台。
    MFC中对所有的句柄,对象,消息都进行了严格的检测,如果你不知道它的内部机制,随便调用函数很容易出错,而SDK提供的是一种宽松的开发环境,你可以用面向对象的思想定义自己的类,对界面控件进行封装。
    在一些专题开发项目,你可以不懂MFC,但是在一些常规的软件开发,你必须熟悉MFC,同时还要懂SDK.
      

  11.   

    MFC主要还是引入面向对象的开发思维。而不是过程驱动的模式。
      

  12.   

    win32比较锻炼技术。mfc有些落后了。
      

  13.   

    不要把sdk(win32)和mfc当成两件事。。
    不使用mfc并不等于不使用类哟!本人是从sdk起步进入窗口设计的,但现在所有的新项目如果我能决定的我都用mfc的框架。
    以前移植很多美国的软件,当时mfc的地位还比较低,大部分工程都是sdk(win32)的。
    每做一个移植,就得解读带着强烈个性的类群,很痛苦。
    现在的移植工作就轻松多了,因为大家大多都用mfc了。除非你个人(你的公司)有一套你(你的公司)自己类积累起来的类库,不然的话,不要对mfc有负面的评价,尽可能使用它。
      

  14.   

    另外,mfc的达人一定是sdk(win32)的达人。
    只会mfc而不懂sdk(win32)的程序员几乎没有,当然初学者不计其中。在使用mfc的同时,还要重载/派生它,以满足我们的要求。如果不懂sdk(win32),就无法做到这一点。
      

  15.   

    俺就不会sdk,mfc也只会用普通的控件。
      

  16.   

    WIN32 和 MFC你弄得熟练了,就明白了
      

  17.   

    win32是windows下的最基本的编程方式,使用它得到的代码最干净最有效率,也是最底层,它是其它所有方式实现的基础。一般指只使用API和SDK。
    MFC是对win32的封装,使用win32编程方法,写了一个又一个类,让我们不用再重复大量劳动。但毕竟是封装,所以不可能完全实现win32所有功能。用着虽然方便,但距离细节毕竟远了,在个性个、特殊化方面还有差距。两者相比,win32更本质,MFC更抽像。从软件工程来看,MFC更符合要求,更人性化。我们在正常使用中,优先使用MFC
    1.MFC的功能正常情况下可以满足绝大部分的需要,特殊需要,也可以直接用API和SDK实现。但反过来,win32下想用MFC的东西,却是非常困难的。MFC下开发,是包融了win32.
    2.MFC和vc融合,拥有大量人性化的东西,会极大增加开发效率。如界面、通用对话框等。而且它的代码是微软写的,比你自己用win32实现更值得让公司信赖。而且代码量会降低很多,更容易调试和维护。
    3.很多功能你自己实现起来非常麻烦,甚至你的技术没达到那标准,而使用MFC很简单,这会迫使你使用它。
    有些场合下不要使用MFC:
    1.三维游戏等,这些东东MFC并没有包含,这时需要使用其它库。使用MFC反而不好,会造成臃肿和拖累。
    2.特殊程序,如病毒等后台工具。它们根本不需要什么界面,需要的就是效率,而且要求体积小。这些无疑Win32比MFC强,甚至连win32都可以不用。
    3.简单的实现,win32上简陋的东西就够用了,或者就算不够用,但有STL等C++自带的,那么MFC就可以不需要了。win32更符合老编程员的习惯。而且如STL,同样功能下,事实上比MFC更优秀。
      

  18.   

    KILL MFC FREE YOURSELF !
      

  19.   

    谢谢,27楼的,好好理解下。有谁能具体说下mfc在d3d,opengl,ddk开发的弊端吗,因为本人没有从事过这些,想初了解下!~~谢谢了!~~
      

  20.   

    MFC关DDK什么事啊?汗一个
    OpenGL也只是借助这个“容器”来显示罢了
    D3D和MFC更是没什么关系
      

  21.   

    楼主知道MFC是个什么东西吗?缩写是什么知道吗?
      

  22.   

    mfc在d3d,opengl,ddk开发的弊端:
    1.MFC是一种封装类,是个宠然大物。当你使用d3d,opengl等它没有封装的进行开发时,使用它完全是种浪费,不需要它为何要挂上它呢?如编d3d时,它本身已经实现了几乎所有的需求,别再拖个油瓶。2.MFC不仅是一种封装类,更是封装了一种MFC编程思想。它具有特有的文档视图结构和消息影射。我们在做普通程序时,这些会给我们带来方便。但做d3d时,编程思想又回归win32,那样更直接和有效。这时MFC的编程思想和方式就不合适了。特别是DDK,那是跟底层打交道,要短小高效,跟MFC是两种不同追求风格。3.事无绝对,选择合适的也就是最好的,如果你在进行D3D开发时,还要使用MFC的东西也是可以的。如果不是大量使用,可以把MFC中你需要的部份扒开单独使用。
      

  23.   

    MFC 做深了 就是 SDK
      

  24.   

    mfc 就是掉的 win32 API .. 就相当于把 win32 API 给封装了..这样用起来简单
      

  25.   

    用MFC开发效率高,用的时间更短,
    相对来说用API开发软件就复杂一些,但是更底层,运行效率更高
      

  26.   

    就个人理解,同意6楼的说法。
    消息驱动的机制,最重要是建立消息机制。MFC做了这一点,不用自己实现。方便一些。不过我是初学者
      

  27.   

    SDK 編程需要自己建立消息處理機制!mfc是直接做消息映射MFC 是對 SDK 的更高一層的封裝,使用起來肯定要方便了,要不封裝了幹嗎!如果想了解消息循環機制,還是使用 SDK如果一般應用,MFC 很好
      

  28.   

    MFC用于界面比较方便的
    ----晕,哪壶不开提哪壶,MFC开发界面也只能和 SDK比了
      

  29.   

    win32指系统环境,MFC是微软的一个开发平台。
    楼主应该不是想了解win32与MFC的区别吧?因为MFC以前主要就是在win32环境中进行开发的,二者不是一个层面的啊。
    可能楼主说的是SDK与MFC吧。一句话,MFC是对SDK的包装。就像一瓶酒,它就是SDK,然后给这瓶酒加上一个盒子,它就成了MFC。
      

  30.   

    这个有什么见解的...MFC适合快速开发,但要做个好程序也不容易
    SDK比较自由,要对操作系统熟悉两个最后都调用API函数
      

  31.   


    我还要加上我这样一种人:
    不是我不用MFC,而是根本看不懂MFC的学习书。
    最开始down下很多MFC的学习书,虽然我有C++几年的学习经验,一个字看不懂是抬杠,但我的确是一句话也看不懂!没办法,现在SDK加自己的class,还好,程序都不大。
      

  32.   

    怎么说呢, MFC虽然功能强大, 但是开发出来以后的效率没有API函数的效率高, MFC集成和很多功能, 而且是一套完整的体系, 要看你是不是需要这样的功能, 是不是要服从它的规范 , 再选择用什么
      

  33.   

    mfc与win32好像就是大块积木和小块积木的区别吧
      

  34.   

    MFC抬高了VC的学习曲线,开始简单,但是越往后越难
      

  35.   

    desktop的app需要做得很大吗?SDK很舒服已经很舒服了,MFC太死板
      

  36.   

     小型程序用mfc       大型程序用 win32
      

  37.   

    总结一下,能MFC的尽量MFC,不能MFC的再API。因为MFC最终还要API,人家做好的事情为什么我们还要做呢,不过如果你感觉你比人家做的好那有另说。
      

  38.   

    [Quote=引用 28 楼 hdjfeng2009 的回复:]
    引用 19 楼 joybpl01 的回复:
    一个是套餐,一个是单点。
    套餐比较省事,但可能吃不完。
    单点更容易符合具体情况,虽然会费事点 这个比喻犀利...
      

  39.   

    没有MFC的时候,人们说什么时候来个框架,减轻劳动量啊,等出来了,又不用了,这些人就是装B。
    能用MFC的,尽量用MFC,这是原则。
      

  40.   

    现在接触到的大部分项目都是用MFC开发,说实话,之前一直以为MFC就是编程的全部,因为没有接触过纯SDK编程的项目。