×

Loading...
Ad by
  • 予人玫瑰,手有余香:加拿大新天地工作移民诚聘求职顾问&行业导师!
Ad by
  • 予人玫瑰,手有余香:加拿大新天地工作移民诚聘求职顾问&行业导师!

心得:MFC / SDK 区别。别笑话我,我才学了一个礼拜.

1、SDK与MFC的区别在于MFC封装了大部分的API,但是本未包括所有的API。有部分API函数MFC没有封装,不过这些函数你在MFC程序中都可以使用。
2、SDK编码时,包括程序框架(比如消息处理器、主窗口消息回调函数等)在内的代码全为自己编制,但所利用的API等接口全来自SDK的头文件和库文件;而MFC系统会生成程序框架,当然接口全来自于MFC。
3、MFC主要封装的是界面、文件、WinInet和线程等函数。SDK是基于C语言的,而MFC是基于C++的,这是最根本的区别。MFC除了封装API,最重要的是它的体系结构,它所使用的Doc/View结构是SDK中没有的,这种架构是比较特殊的。尽管Doc/View结构不是微软的发明,但它是MFC的特色。
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / 急,急,急,老板要我用VC++编一段程序大概意思是:监视来电(电脑与交换机相连),并电脑提示有来电信息等.整个程序的界面显示由他来做.我来做底层的东西.也就是我编的程序与TAPI(Telephony API)打交道,我的程序提供接口给他用就可以.
    • 我的问题是: 我该用managed c++ class library来做,还是 MFC application来做
    • MFC 和 API的区别在那里?是不是用了MFC就不能用API.对不起,请帮助
      • MFC封装了windows的大部分系统API,可以使编程更方便。 但是如果不涉及界面,使用没有什么好处。好象MFC没有封装TAPI,所以不管用不用,都要调用TAPI.
        • 谢谢你,you are so helpful. one more question.那你的意思就是我应该用managed c++ class library来变成,而不是MFC了.我这样理解对吗.
          • 如果你以前没有学习过类库,建议你直接用C++编程
        • 如何可以看的出来程序是用MFC编的.是不是可以通过看有没有WinMain函数.
          • MFC程序,一般都由VStudio生成程序框架,有很多缺省生成的类,看不到WinMain()
        • 3. 我可以同时使用API和MFC吗?是不时不能同时使用. 4. 使用MFC需要include什么文件,使用API需要包括什么文件. 谢谢你,我这个急呀,明天就要开始做了.
          • 可以同时使用。如果还不知道如何用MFC,建议不要用,会事倍功半。TAPI可以查找MSDN的help,找到要用的函数后,说明文件中会指示使用哪个include
            • 找到相应的函数,include相应的文件,就可以了吗?.还有没有其它需要注意东西.哎,以前一直做数据库和ASP了.对VC真的是一窍不通.谢谢.
              • #1149016
        • Thanks for your help and suggestion.. I has started the new job now .It is going well
    • MFC不过是一个封装好的类库,你当然可以同时用其它的API,只要你在Project的property--LINK TAB中加相应的DLL(或EXE,OCX,...)即可, 当然还得include header file。你问这个问题似乎有点门外汉的味道,才开始用VC++?
      • 是呀,我一点MFC的经验都没有.如果我直接对TAPI编成的话,是否就不需要理解MFC概念了.请指教.
        • 那我看,以你现在的水平,开发VC程序会很费劲,你还是用VB吧, . 反正你老板只是用你的module.
        • MFC内容太多,学起来可能要不少时间,不过入门不难,1-2天即可。前题是你对用Win SDK编程已熟悉,理解了event driven和message processing。如果时间太紧,还是用你熟的编吧。
          你说你的同事编界面,如要他用MFC,那你怕是得尽快学一下了。recommend a book 《MFC深入浅出》. You can search it on Google, it is an e-book in traditional chinese.
          • VC入门不容易吧?有的人恐怕写完都不知道结构呢.建议不要使用VC.
    • 要说,你的运气真不是盖的,多少VC++高手在Labor上挣扎,你拿着薪水学MFC。
      • Thanks for your help and suggetion.. I has started the new job now .It is going well
    • HI ,老兄我做过CTI 方面的开发,用VC 写的。能不能向你老板推荐我
    • Check your email, please.
      • I have replied your email.but no response from you.
    • 心得:MFC / SDK 区别。别笑话我,我才学了一个礼拜.
      1、SDK与MFC的区别在于MFC封装了大部分的API,但是本未包括所有的API。有部分API函数MFC没有封装,不过这些函数你在MFC程序中都可以使用。
      2、SDK编码时,包括程序框架(比如消息处理器、主窗口消息回调函数等)在内的代码全为自己编制,但所利用的API等接口全来自SDK的头文件和库文件;而MFC系统会生成程序框架,当然接口全来自于MFC。
      3、MFC主要封装的是界面、文件、WinInet和线程等函数。SDK是基于C语言的,而MFC是基于C++的,这是最根本的区别。MFC除了封装API,最重要的是它的体系结构,它所使用的Doc/View结构是SDK中没有的,这种架构是比较特殊的。尽管Doc/View结构不是微软的发明,但它是MFC的特色。
    • 心得:Win32 SDK是怎样一个软件。别笑话我,我才学了一个礼拜.
      当微软每次推出一个重要的Windows版本,一般都会同时推出一个SDK,SDK中包括开发该版本Windows所需要的函数和常数定义、API函数说明文档、相关的工具和示例。SDK一般都使用C语言,但不包括编译器。SDK可以在微软的站点下载,也可以在MSDN专业版和企业版的光盘中找到。安装SDK后,使用VC++编写和编译程序就可以了。VC++中包括了SDK中的所有头文件、帮助、示例和工具,所以如果你使用的是VC++,你一般就不需要SDK了。只有当你的VC++版本比较低,如你使用的是VC++ 5.0,而想利用Win98中提供的新功能时,才需要安装SDK。从Windows 98起,Windows SDK叫Platform SDK(http://www.microsoft.com/msdownload/platformsdk/sdkupdate/))。Platform SDK包括最新的Windows API(如Windows 2000的新函数)的有关声明、例子,值得下载。
    • 心得:什么是MSDN。别笑话我,我才学了一个礼拜.
      MSDN是Microsoft Software Developer Network的简称。这是微软的针对开发者的开发计划。你可以在http://msdn.microsoft.com看到有关软件开发的资料。在VC++ 6.0中包括MSDN Library的光盘,其中包括VC++的帮助文件和许多与开发相关的技术文献,学习VC++编程经常要搜索一下MSDN Library。MSDN Library每个季度更新一次,可以向微软订阅更新光盘。