`

MFC与SDK的不同

 
阅读更多

       SDK   ---  Software   Development   Kit (软件开发包) 
       MFC   ---  MicroSoft   Foundations   Classes (微软基础类库)

       MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。MFC 应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架。

      MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinDOS(用MFC编写的程序绝大部分都在WinDOS中运行)中实现内部处理的类。

     而SDK呢?泛泛的说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。这里主要讨论一下Windows SDK,微软每推出一个重要的windows版本,一般都会同时推出一个SDK(Software Development Kit)。SDK包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。高版本VC++包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本如VC++5.0则需要安装SDK。

      用VC编写Windows程序有两种:1. Windwos c方式(SDK),2. C++方式:即对SDK函数进行包装,如VC的MFC,BCB的VCL等。SDK编程就是直接调用Windows的API进行编程,平时人们常说"用 SDK写程序"就是指用Windows的API函数来写程序,API由上千个API函数组成(Win95的API有两千多个)。而MFC是API的封闭,结合面向对象程序设计的继承性和多态性组成一个个的"类",共由一百多个类组成。尽管MFC比SDK方便,但要深入VC,直接去学MFC却是不明智的选择。只有在熟悉了MFC的运行机制的情况下,才有可能深入下去。所以学VC最好是先学用SDK编写程序,在此期间掌握Windows操作系统的工作原理和各API函数的应用,然后再深入MFC。

     接下来,说说两者的区别与联系。SDK是基于C语言的,而MFC是基于C++的,这是最根本的区别。MFC主要封装的是界面、文件、WinInet和线程等函数。MFC除了封装API,最重要的是它的体系结构,它所使用的Doc/View结构是SDK中没有的,这种架构是比较特殊的。尽管Doc/View结构不是微软的发明,但它是MFC的特色。微软开发Windows时使用的是C语言,所以最初设计SDK时并没有考虑C++。


分享到:
评论

相关推荐

    SDK和MFC介绍 SDK和MFC介绍SDK和MFC介绍

    SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC介绍SDK和MFC...

    MFC调用海康SDK

    "调用海康SDK"这个标签意味着我们需要了解如何在MFC项目中使用海康威视的SDK来与他们的硬件设备进行交互。以下是一些关键知识点: 1. **海康SDK介绍**:海康SDK通常包括视频采集、视频编码、视频解码、设备控制、...

    MFC调用VLC SDK播放网络流

    综上所述,"MFC调用VLC SDK播放网络流"是一个结合了MFC应用程序开发和多媒体播放技术的实践案例,涉及到Windows编程、VLC SDK的使用以及网络流处理等多个知识点。通过这种方式,开发者能够为用户提供一个高效、稳定...

    将MFC装换成SDK

    1. **理解MFC与SDK的区别**: - MFC是封装了Windows API的类库,它提供了许多便利的类,如CWnd、CButton等,简化了窗口和控件的管理。 - SDK编程则直接调用Windows API,如CreateWindow、CreateWindowEx等函数创建...

    MFC程序装换成SDK程序

    9. **程序初始化与退出**:MFC有`WinMain`和`InitInstance`等函数,SDK则直接使用`WinMainCRTStartup`或自定义的入口点。 转换过程可能包括以下步骤: 1. 分析MFC程序的消息映射表,确定每个消息对应的处理函数。 2...

    SDK到MFC

    - 在转换过程中,持续进行调试和测试是非常重要的,确保新代码的功能与SDK版本一致,同时充分利用MFC的调试支持。 9. **性能与兼容性**: - 虽然MFC提供了便利,但可能带来一定的性能开销。在转换时需评估这些...

    SDK变换为MFC

    SDK(Software Development Kit)与MFC(Microsoft Foundation Classes)是两种不同的编程框架,它们在Windows应用程序开发中扮演着重要角色。SDK编程通常涉及到更底层的API调用,开发者需要直接处理Windows API函数...

    SDK封装MFC

    总的来说,"SDK封装MFC"是一项将SDK的功能与MFC的面向对象设计相结合的工作,目的是提供一个易于使用的图形绘制工具集,支持动态颜色变化,适用于Windows应用程序的开发。通过这种方式,开发者可以避免直接操作底层...

    基于MFC的Basler相机SDK采集示例

    此示例项目旨在为初学者提供一个起点,展示如何将MFC与Basler相机SDK结合,实现简单的图像采集和处理。通过研究这个项目,开发者可以更好地理解如何在实际项目中整合这两个强大的工具,从而高效地开发出针对Basler...

    海康SDK开发Demo_MFC

    海康SDK开发Demo_MFC是基于MFC(Microsoft Foundation Classes)框架的一个实例,主要用于帮助开发者理解和使用海康威视(Hikvision)的设备网络SDK,即CH-HCNetSDK,进行视频监控设备的集成与控制。这个SDK适用于...

    用 Win32 SDK 实现与 MFC 类似的程序

    本篇文章将深入探讨如何使用Win32 SDK来实现与MFC相类似的功能,让你更好地理解两者之间的关系以及如何在没有MFC的情况下创建Windows程序。 1. **Win32 SDK 和 MFC 的区别** - **Win32 SDK**:这是直接与Windows ...

    system tray 源码MFC and SDK

    在这个案例中,我们关注的是基于MFC(Microsoft Foundation Classes)和SDK(Software Development Kit)实现的`System Tray`源码。 MFC是微软提供的一个C++类库,用于简化Windows应用程序的开发,它封装了Windows ...

    VLC SDK demo for MFC

    **VLC SDK与MFC开发多媒体播放器** 在软件开发领域,VLC(VideoLAN Client)是一个广泛应用的开源媒体播放器,它支持多种媒体格式和流协议,具有跨平台的特性。VLC SDK(Software Development Kit)是VLC提供的一套...

    SDK和MFC的含义与区别(讲的很深入浅出)

    ### SDK与MFC的核心概念及区别 #### 一、SDK详解 **SDK**,全称为Software Development Kit(软件开发工具包),是指为了便于开发者能够快速有效地进行应用开发,由硬件制造商或软件开发商提供的用于开发软件应用...

    Socket编程例子_MFC_SDK

    本教程“Socket编程例子_MFC_SDK”是针对初学者设计的,旨在帮助他们理解如何在VC++6.0环境下利用MFC SDK进行Socket编程。 首先,我们要了解什么是Socket。Socket是网络通信中的一个抽象概念,它代表了两台机器间的...

    MFC_Window SDK for Windows 8.1.rar

    此外,可能还需要更新或替换原有的MFC库文件,以确保与新SDK的兼容性。 音视频标签可能意味着这个SDK包含了处理多媒体内容的MFC类库,例如支持音频和视频播放的控件。这使得开发者能够在MFC应用程序中集成多媒体...

    VLC SDK MFC应用

    在这个项目中,我们使用VLC SDK与MFC相结合,创建了一个可以在VC6环境下编译通过的应用程序。 VLC SDK是VLC媒体播放器的核心组件,提供了丰富的API接口,允许开发者将VLC的多媒体播放功能集成到自己的应用程序中。...

    MFC界面设计和界面美化

    3. **消息映射(Message Mapping)**: MFC使用消息映射机制将控件的消息与成员函数关联,使得当用户与界面交互时,程序可以响应相应的事件。例如,按钮点击事件可以映射到一个处理函数,进行相应的操作。 4. **数据...

    利用微软Speech SDK 5.1在MFC中进行语音识别介绍

    利用微软Speech SDK 5.1在MFC中进行语音识别介绍 随着语音识别技术的发展,语音识别已经成为计算机科学和人工智能领域的热门话题。微软Speech SDK 5.1是微软公司提供的一种语音识别开发工具包,能够帮助开发者快速...

Global site tag (gtag.js) - Google Analytics