【原】API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别
首先来看一下每一个术语的定义:
API:Application Programming Interface。Windows操作系统提供给应用程序编程的接口, 简称 为API函数。
Win32 SDK:SDK(Software Development Kit)中文是软件开发包。则Win32 SDK是Windows 32位平台下的软件开发包,包括了API函数、帮助文档、微软 提供的一些辅助开发工具。
Win32项目:Microsoft Windows操作系统32位环境下由C/C++语言调用API函数编写 的项目。
MFC:Microsoft Foundation Classes。微软基础类。用于在C++环境下编写应用程序的一个 框架和引擎。
Windows窗体应用程序:用户计算机上运行的客户端应用程序,可显示信息、请 求用户输入以及通过网络与远程计算机进行通信。在开发大型应用程序时,可能需要研 究 .NET Framework 和它所提供的类
接下来解释一下具体的区别:
1、Win32项目和MFC的区别:
win32程序是利用编程语言直接调用windows api编写的程序,可以在任何装有正确windows的机器上运行,程序员发挥的空间也最大,能实现在该操作系统中可以编程实现的任何功能。
MFC是对大部分API的封装,调用一个MFC函数或new一个MFC的类相当于调用了很多API函数了,这样就节省了大量的时间了。由于封装,不可能完全实现win32所有功能。使用方便,但是隐藏了细节。MFC是面向对象的思想,主要是用来做界面。
两者相比,win32更本质,MFC更抽像。从软件工程来看,MFC更符合要求,更人性化。我们在正常使用中,优先使用MFC
2、Win32项目和Windows窗体应用程序的区别:
win32应用程序是指可以在32位或以上Windows系统中运行的程序,概念比windows窗体大,严格说来,窗体程序也是win32应用程序。
Windows窗体应用程序必须在.net环境中应用,就是说你编译好的软件在没有.net framework的机器上是不能运行的,而且功能的实现也要受framework的限制,不能随心所欲。
3、MFC和Windows窗体应用程序的区别:
MFC和Windows窗体应用程序的结果完全一样,都是用面向对象的思想做界面。但是由于MFC可以开发出Windows窗体应用程序,所以Windows窗体应用程序使用更方便,但是灵活性不如MFC
4、不要使用MFC的场合:
- 三维游戏等。MFC没有包含相关的库
- 特殊程序。如病毒等后台工具。需要的是效率而不是界面,而且要求体积小。