【MFC开发(1)】MFC的介绍、与Qt的区别

【MFC开发(1)】MFC的介绍、与Qt的区别,第1张

一、MFC 的介绍以及优缺点

        MFC:微软基础类c++库(英语:Microsoft Foundation Classes,简称MFC),以C++类的形式封装了Windows API,并且包含一个windows应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大。MFC或多或少使用了面向对象的方法包装了Win32的- API,正因如此,这些API有时是C++,有时是C,甚至是C和C++的混合体。

优点:MFC说白了就是微软自家的东西,所以VC自带MFC工程向导,VC对MFC支持的也很好。对于界面方面实现起来简单,易于上手,能快速的制作简单的UI界面,执行效率高,生成的EXE或者其他程序可以直接在Windows系统上执行,生成的文件体积也比较小;

缺点:

(1)MFC无法创建大小动态可变的子窗口,必须重新手动修改代码来改变窗口的位置

(2)不能跨平台,程序只能运行在Windows系统,在 Linux、Mac 系统上是别想用了。

总结:MFC适合于开发对界面美化要求不高的软件。
 

二、Qt的介绍以及优缺点

        Qt:是一个C++的图形库由Trolltech在1994年左右开发,它可以运行在Windows,Mac OS X, Unix,还有像Sharp Zaurus这类嵌入式系统中。Qt是完全面向对象的,广泛用于开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。


优点:

(1)跨平台使用,包括Windows、linux、macos等

(2)完全面向对象,内部使用信号与槽机制,易于上手

(3)开发文档丰富,支持VS插件的形式进行开发。可以制作漂亮精美的软件UI界面。省时省力。

缺点:

(1)Qt有点过度封装,而且体积也稍大,执行效率没有MFC高,程序分发打包的时候需要将Qt的核心DLL一起随程序打包,不然程序跑步起来。当然也可以用静态库的方式编译,默认只生成一个Exe文件,但这样的话程序的体积会变的很大,不管怎么说Qt生成的文件在分发携带方面的方便性上赶不上Windows的原生程序或者MFC的程序。

总结:Qt适合于开发对界面美化要求较高的软件。

MFC 和 QT 就好比 手动档车与自动档车一样,前者开发软件太累,但可控性更加高些。
 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/756131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-30
下一篇 2022-04-30

发表评论

登录后才能评论

评论列表(0条)

保存