首先了解几个术语
api:(应用程序编程接口)简单理解就是一些预定义好的函数,其都有各自的功能。当你需要完成某些功能,直接调用即可,无需了解底层函数的的实现过程。简化了程序员的工作量。
Windows api:简单理解就是windows提供的一套应用程序编程接口。可以将windows看做一个很强大的服务平台,其提供的每一项服务可以看做是一个函数,当你需要,直接调用即可。
标准windows库:简单理解就是不使用微软提供的类库(也就是MFC),直接调用windows api函数。
MFC:(微软基础类库)是微软公司提供的一个类库,以C++类的形式封装了Windows Api,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
MFC两种使用方式
1.在共享DLL中使用MFC
指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。
2.在静态库中使用MFC
指的是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行。
联系和区别
联系:可以简单理解是都是调用相应功能函数,来实现对应的功能。
区别:
1.使用windows标准库,代码量常规书写;使用MFC能显著减少书面代码量。(例如,常规主程序入口WinMain函数,可能使用MFC找不到WinMain函数,其实是将其封装在了MFC的类中)
2.WINDOWS API实现思路清晰,虽然不难,但是很烦琐。MFC实现书面代码较少,但是流程不太清晰, 虽然看似简单,但是却不好学,MFC的难点就在这里。