C++的MFC和win32项目的区别有:
1、Win32:包含好多基本的API;
2、MFC:里面包含好多类库,通过类库间接使用API;有时候mfc是封装的类不能满足我们的要求,这时就需要我们自己用api来开发了。
3、win32是windows下的最基本的编程方式,使用它得到的代码最干净最有效率,也是最底层,它是其它所有方式实现的基础。
4、WIN32 SDK还可以编写DLL。
5、mfc是封装的类,最后还是会调用win32api,win32api开发效率低一些,但比较自由。
6、不用mfc的人群往往是从DOS时代开始从事窗口编程的人,他们早在mfc出世之前就编得一手好程序。
7、MFC主要还是引入面向对象的开发思维。而不是过程驱动的模式。
可以这样理解,MFC是 对 win32的封装(MFC对windows API函数的封装)
比如有2个函数, void a(); void b(); 把它们看成是win32项目
那么我用MFC定义了一个新函数void ab();,包含了 a和b这两个函数和它们的全部功能。这就是它们的关系。
应用场景的话,就是说用MFC能做出来的东西 ,win32肯定也能作出来. win32程序更接近底层,但是开发软件的效率底。
MFC VS Win32
Windows API(应用程序编程接口)通常称为Win32。如果要创建可以在Windows环境下运行的程序,则需要具有与Win32兼容的程序。MFC是C++中的一个类库,它封装了Windows API的某些部分,以便程序员更容易构建轻量级代码。
为Win32构建应用程序意味着您必须使用它的SDK才能保持兼容性,并避免出现故障或任何其他问题。使用Win32SDK的问题在于,您需要手动编写所有内容的代码。这可能会导致代码中的错误,这些错误既可以是次要的、快速修复的,也可以是令人头疼的、令人头疼的跟踪错误。MFC由程序员最常用的函数组成,如创建窗口或打开对话框。使用MFC可以将原本由10到20行组成的代码简化为一行代码,从而使构建变得简单和快速。使用MFC进行故障排除也会容易得多,因为您不需要深入研究每个函数的实际编码,而只需关注如何调用该函数。
MFC还直接处理Windows环境,这意味着不需要关心用户在其计算机上的特定设置。这可确保程序在使用MFC时在大多数情况下都能正确显示。
MFC是一个非常成功的库,其他编程语言已经开发了它们自己的库,或者将MFC的使用调整为它们自己的库。无论使用哪种框架,如果打算为Windows操作系统创建程序,仍然可以使用Win32。对于C++程序员来说,MFC只是让它更容易、更快。
总结:
1.Win32也称为Windows API,而MFC是包装部分Windows API的C++类库
2.MFC由构建Win32应用程序时使用的最常见操作组成
3.与直接使用Windows API相比,使用MFC可以使编码更轻松、更简单
4.MFC允许C++程序员使用当前的Windows环境