 |
说“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++。
相关问题:
QA002580 "Win32 SDK是怎样一个软件"
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 新手问题, newbie, faq。
|