SDK, API 和 MFC

  • 格式:doc
  • 大小:28.00 KB
  • 文档页数:2

SDK是软件开发包;

而mfc是对api封装后的类库,他是微软公司提供的

MFC封装了决大多数的API函数,而且为了让曾经的API程序员方便记忆和使用,名字也和API的相同,但是是有区别的。你需要借助MSDN,比如在MSDN里输入GetWindow,索引一下,就会发现同名的函数很多,如果是MFC的函数会显示microsoft foundation class library and templates.并且还会显示函数是什么类的成员,比如CDC::GetWindow就是CDC类的一个函数。如果是API函数会显示windows user interface:plantform sdk,并且没有类名。当然也可能是Windows ce referance,初学者恐怕不会涉及Windows CE。好了就这些,希望对你有帮助

C环境是面向过程的不支持MFC,MFC只封装在C++里,MFC无法在C环境中使用

请问sdk与mfc区别有那些,编码时区别又在那里?我有一些个人的认识,长久得不到印证,请指导!对于上述两问题我是这样认识的:1、sdk与mfc的区别在于mfc封装了大部分的api,而sdk只是mfc的一个真子集。2、sdk与mfc编码时的区别为:SDK编码时,包括程序框架(比如消息处理器、主窗口消息回调函数等)在内的代码全为自己编制,但所利用的API等接口全来自SDK的头文件和库文件;而mfc系统会生成程序框架,当然接口全来自于mfc。不知我的认识有没有认识不对或不全的地方:

答:说“SDK只是MFC的一个真子集”是错误的,因为有部分API函数MFC没有封装,不过这些函数你在MFC程序中都可以使用。MFC主要封装的是界面、文件、WinInet和线程等函数。SDK是基于C语言的,而MFC是基于C++的,这是最根本的区别。MFC除了封装API,最重要的是它的体系结构,它所使用的Doc/View结构是SDK中没有的,这种架构是比较特殊的。尽管Doc/View结构不是微软的发明,但它是MFC的特色。

滋兹问:

"而MFC是基于C++的",我原来以为MFC是VC专用的。在C++Builder里面也可以用MFC库么?如果不能,C++Builder用什么呢?SDK基于C语言,那由什么来基于C++呢?

答:MFC最初是由微软设计,专供VC++用的,但是C++ Builder也支持,参见QA001956 "如何使C++Builder VCL程序能使用MFC的类"。C++ Builder自己也有一个类库,叫VCL。以前的Borland C++使用OWL类库。微软开发Windows时使用的是C语言,所以最初设计SDK时并没有考虑C++。

API 是 Application Programming Interface 的缩写,是指(Windows)操作系统提供的一系列功能和函数的集合。

SDK = Software Development Kit。最初开发 Windows 应用程序使用 C 语言,Microsoft 的 Windows SDK 是各种必需的 API 声明头文件、库文件和一些实用工具的集合。当时 SDK 是开发 Windows 应用程序的唯一途径。

MFC = Microsoft Foundation Classes。后来有了 C++,利用 OO 概念,MFC 对 Windows API 进行了一层简单但有效的封装,开发速度大大加快。简单地说,MFC

就是一系列 C++ 类的组合。

sdk 是Software Development Kit ,是为C语言提供的编程工具包

api是Application Programming Interface,是windows本身带的一些函数库

mfc 是Microsoft Foundation Class ,是vc++中提供的一些类库

sdk编程就是使用纯api编程,sdk的原意是指软件开发工具包的意思,现在专指api编程了

所谓api 就是操作系统提供程序开发者调用各种系统函数,application

progamming interface是也,你在程序中调用它们来使用操作系统的服务,任何windows程序本质上都是建立在其上,包括vb,delphi,

mfc就是微软基本类库,c++是面向对象的语言,通过mfc主要封装api使得不用直接api,同时提供

document/view结构,简化程序设计