如何理解MFC程序和WIN32程序的区别?

我的理解是用WIN32的API写的程序可以在不同平台运行,而MFC的API函数写的程序却只能在WINDOWS下运行,对么?另外可以在WIN32的程序里混用MFC的API么,或者MFC程序里调用WIN32API?
请告诉我我的理解对么

你的理解不对
Win32 api只是接口,只能被用到别的东西里才显的出价值,比如用在了MFC、DLL、串口、SOCKET,COM+。
而MFC是基本类库,是属于C++的范畴,WIN32 API基本上都是结构类型的应用,里面没有类,所以MFC可以调用API,API不能调用MFC!

通过传口,利用MFC可以将C++程序各种的WIN32的环境,MFC只能在WIN32环境下使用,API也是

Win32 API是 Windows系统下32位 Application Program Interface 应用程序接口,MFC是Microsoft Function Class 微软函数类库, 前者更加底层,在MFC程序里,可以调用WIN32 API的,MFC本来就用了很多WIN 32API,MFC编写的程序可以用在各种Windows环境下的
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-08-05
win32 api = 32位windows应用程序编程接口,是windows操作系统为32位应用程序开发者提供的统一的编程接口,任何运行在32位windows操作系统(win95、win98、winMe、win2k、winNT、winXP、vista)上的应用程序,最终都通过调用win32 api接口来实现其功能,即使是.net平台,当前其运行环境也建立在win32 api接口上,而mfc是微软为windows下的C 开发者提供的类库,由于win32 api接口是C语言形式的,对C 开发者颇为不便,微软在1989年推出mfc,目的是简化windows应用程序开发、并为C 开发者提供方便的类库,查看mfc源代码,可以发现其内部实现调用了win32 api,mfc所提供(调用)的win32 api只是全部win32 api的一个常用子集,mfc并未封装全部win32 api功能,因此在编写mfc时,根据需要还要直接调用win32 api
第2个回答  2007-08-04
其实一个程序全部都是由 Windows API 函数不断的调用而创建出来的(当然程序中的一些处理结构除外,我指的是界面等),所谓 Win32 程序就是运行在 32 位操作系统 Windows 下的程序(以前还有16位的),你可能会看到所谓 SDK 和 MFC ,其实 SDK 就是自己编写调用代码,调用 Windows API 函数来实现一个程序的界面等功能,当然这种方法要写的代码是非常多的,对于一个实际点的程序不可能写那么多代码,所以微软就将这些API分类封装起来,组成了一个库也就是MFC库,MFC库以类的方式提供给用户使用,比如我要实现一个网络功能,那么我可以使用 API 函数 Socket 来创建一个套接字,而且还要进行初始化,等等,如果对于一个大型网络程序,是非常麻烦的,而MFC为我们提供了一个 CSocket 的类,我们使用这个类就可以非常方便的完成所有功能.当然除了 CSocket 还有其他类比如 CDialog ,CDC.等等.MFC内部实现其实也是调用的API函数.所以理论上说SDK编写的程序比MFC要快,但是很麻烦,但是实际也就是几纳秒到几毫秒的区别,所以根本不存在,当然MFC也有他的不好的地方比如他封装了消息循环结构改成一个消息映射,这样对一些特殊的功能实现起来会比较麻烦,比如消息二次循环实现起来会比较麻烦.
第3个回答  2007-08-05
Win32和MFC都是建立在消息机制上的,没有消息机制,两者什么都不是.因为只有windows操作系统采用消息机制,所以两者都只能在windows下运行.
win32里可以用mfc,mfc里也可以用win32,因为两者都是用API函数实现编程的.
第4个回答  2007-08-06
哀...哪那么多费话啊.MFC封装了API...底层都是API函数...
在WINAPI工程中想用MFC比较麻烦,没有人这么搞.晕..
用MFC就是方便...API底层的都要你自己写...代码多...手酸...但是灵活...
相似回答