VC中SDK与MFC的区别浅析

时间:2021-08-01 07:53:46

本文浅析了vc中SDKMFC的区别,对于初学VC的朋友有一定的学习借鉴价值,详情如下:

SDK 是指Software Development Kit 软件开发包

MFC 是指Microsoft Foundation Classes 微软函数类库

因此MFC是对API函数的封装,也算是vc里的SDK
 
用VC编写Windows程序有两种:1. Windwos c方式(SDK),2.C++方式:即对SDK函数进行包装,如VC的MFC,BCB的OWL等。

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++。