首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MFC和QT的区别

MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。早期很多学习计算机专业的读者可以在学校里面都有接触过,因为这个是每一个计算机专业的读者必修课程,所以在早期的C++项目里面很多都是使用MFC为开发框架进行构建的,因为它有一个很大的好处就是和我们的windows的系统兼容性很好,可以直接调用整个系统的API函数,而且开发的程序对系统的支持度很好,因为我们现在的windows系统都是在向前兼容的,如windows系统里面有win 95、win98、win2000,win Xp,win7,这些操作系统都是一致向前兼容的,如果经历过这些系统的读者都会发现系统在win8之前一直往前兼容,造成操作系统变得越来越大,在win8系统,后windows系统引入C#一起来对windows系统进行调控,这时我们会发现win8对win7的兼容性很差,而且这个操作系统也是微软除visit系统最短命的系统,这个时候我们就会发现我们的MFC开发的程序在整个windows兼容性不是那么高了,而且由于当时,对于我们的C++开发一直有一个叫做visual studio 的编译器在C#语言没有出来前,只能编译C++,所以visual studio作为全世界最优的编译器也是整体支持MFC,所以这个时候我们现实生活中在windows系统开发的程序很大部分都是使用了MFC框架进行开发,在如今我们的很多酒店、政府等等很多行业上面用的都是MFC框架进行开发,MFC全面支持COM组件开发,这个时候很多在windows开发的程序也会在这上面支持COM组件开发,还有由于在中国大部分计算机的使用者都是用的windows系统,所以在开发程序中用C++来开发的时候都是使用了最为稳定的MFC进行开发,记得几年前和一位一起工作的朋友曾经谈过,只要微软不倒闭,MFC的工作者就不会失业,为啥呢,哪怕现在在windows上面最为流行的C#语言也没有C++中的windows编程对windows操作系统操作这么流利,打个比方如果你的电脑里面在加上一个高拍仪这个时候要用到的是USB驱动进行调用,这个时候处理USB驱动调用的时候就会发现,驱动调用的数据都需要进行位运算,这个时候用C++来处理是最为方便的,所以C++在windows上面的开发之所以占尽了便宜,是因为windows编程,而我们的MFC是封装后的windows编程。

05
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我以为,前端的精髓是学会分析与思考,而不是js语句

    今天我在跟同学们讲课,讲到做轮播图的时候,脑子里突然蹦出一句话,“学js学前端,是学习用程序、用机器的思维方式来解决现实当中的问题,而不是学这几十上百条的js语句”。 当时正在上课途中,不方便发散思维来多说。于是当时这个话题就岔过去了。现在放空脑子想想,前端开发是做什么?它并不是一个做网页的,虽然这个职位看起来和做起来,都是一个做网页的。 我口语化的描述一下,这个职位它实际上是把人们在现实生活当中的需求,放到网上来给它实现了,是做线下需求网络化的。这是我的个人主观的想法。 以前是线下买东西,线下排队看病挂号

    07

    Spring+SpringMVC+Mybatis整合开发思路及配置详解(一)

    说起来还是比较有意思的,最近一个同学问我SSM(Spring+SpringMVC+Mybatis)整合开发,整体的思路和配置究竟是怎么个思路。这不禁让我想起了我一开始做SSM整合开发的苦逼时间。本以为不就是个框架吗,有啥难的。但后来真的发现自己动手做起来真的很不简单,尤其是对于新手同学来说。 于是我想,百度一下肯定是能够找到整合开发的例子吧。不幸的是,这些教程看起来很高大上,但是实际操作起来,不是缺包就是配置文件本身存在问题,再有就是代码根本就没有贴全。除了这些问题,仅有少数能够配置成功的文章,更是根本连配置信息、代码的解释都没有…… 我心想,算了,还是自己手动撸一篇文章吧。于是,就有了接下来的这些内容。 本文,主要是针对已经学过Spring,了解SpringMVC和Mybatis的同学。如果这些还暂时不了解,没关系,先去找些视频或者书籍看看SSM的相关知识再来(笑)。 我们以一个小型的项目作为依托,先介绍此项目的整体架构和用到的技术,并让你知道每个部分的作用;接着,我将介绍引入的jar文件(Maven),并带你大致了解一下Maven是个啥;接着就是配置文件,我将详细介绍配置文件的作用,以及为啥这样配置;最后,我们将实现一个查询的小功能。 这个文章将分成两篇,因为比较长,希望大家多谢耐心。 废话不多说,开始吧!

    06

    简述C和C++的学习历程

    总是被问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。  一家之言,欢迎拍砖哈。 1、可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不是语言写得好不好看。 C++是C的一个面向对象的解释,C++为C扩充了大规模工程应用,复杂的系统结构的组织和掌控方法,但是,我认为,C++骨子里还是C的。 毕竟,解决具体问题,每个函数内部,都是用C的方式写程序,还是面向过程的。 因此,想要学习好C++,我的建议,先学习C,先学解决问题的能力,再讨论解决大问题的能力。就是先学习怎么走路,再学习怎么跑步。 2、学习C的过程中,一定要理解结构化编程思维。 为什么呢,我前面有文章说过,软件语言的发展过程,就是一个数据私有化的过程,大型工程应用,强调高内聚,低耦合,模块化设计,保持代码最大的灵活性和安全性。 这是现代工程化开发的核心和灵魂。 因此,利用C这门语言入门,借此理解结构化开发思维,可以说是个很方便的路子。因为C的函数,本来就是为重用做准备的。同时,全局变量和cpp内部私有变量的差别,其使用原则,这些都能学到很多结构化开发思维。 3、开始学习C++ C++不难学的,很多人觉得C++难学,其实是因为它在C之外,又提供了很多的概念,尤其是对象,很难以理解。 不过我经过这么多年,把这个问题反而看淡了,我认为面向对象相对面向过程,仅仅是结构化程序设计的一个具体体现,是编译器提供手段,强迫程序员必须遵循数据私有化的一个实例,C++和C的关系,最核心的莫过于此。 现在我们回到C再看看,如果我们把一个全局变量,写到一个cpp里面,并且在对应的h文件中不声明,它是不是就只有这个模块可以使用?它是不是就是私有变量,以这个理解,类能明白了吗? 4、学习C++的深入技巧 C++在类的基础上,经过这么多年的发展,其实提供了很多深入的概念,看起来很复杂,其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是? 既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解吗?就是一大堆类的类,可以借此实现很多应用中需要的类,不需要程序员再自己写而已。 ok,STL都理解了,泛型开发还难吗?所谓泛型开发,其实就是我做一个模板,来定义一套算法规则,但是呢,我希望这个算法规则,能进一步抽象,对核心数据类型不要限死,我把各种数据套进去,都可以用,这样,仅算法这部分,我不需要重写了。你想想是不是这个道理? 学到这里,C++和C,其实已经差不多了。再学语言,就是求全责备,过于钻牛角尖了。 5、学习应用开发 前面说了,学习语言,目的不是让别人认为自己是专家,是为了写程序赚钱。因此,语言学完,要学习应用开发。 什么叫应用开发呢,我会一门语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。 OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具体平台的开发,才能开发出有意义的应用程序卖钱。那么,一般说来,客户端是Windows系统,服务器是Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等。要根据自己的目标客户来定。 当我们选定目标平台后,有一个问题,选什么语言,很多时候,学生和商用程序员差别就在这里,学生一般没得选,自己会啥就用啥呗,企业里的程序员不会,要先评估需求,看哪个语言更合适,不会的语言,要去学。 ok,假定我们选了C和C++,那么,我们需要选择开发平台,Windows下不用说了,VC,这是最好用的,Linux下呢,gcc,其他的也差不多。 假如我们开发VC,并且使用C++,这个时候,才需要考虑学习MFC了,因为这是微软的标准类库,至少Windows平台下,它最权威,你看见没有,我们从学习开始,走了多少步,才走到MFC?是不是MFC不是学习C++上来就必须学的? 6、学习MFC 学习MFC,很多人一上来就开始看其体系架构,看得一头雾水,那个模块关系依赖图,我到现在都看不懂。 呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?MFC是手段,不是目的,目的是开发Windows程序。 其实Windows下,有一套很标准的C接口,叫Win32API,这个才是Windows的标准编程核心,因此,学习MFC,真实的目的是理解Windows程序开发,建议可以先学习Win32API,看来我们又回到C了哈,呵呵。刚开始学C有用吧? 7、Win32API

    02

    双非硕士普通的公司的普通面经> 中汇信息 软件开发> 上海银行 IT开发> 上汽技术 Java开发> 荣数信息 Java开发> 平安养老险 Java开发小建议

    双非硕士,计算机科班,除了成绩几乎一无是处,没实际工程没实习甚至秋招前没有学过Java基础。 坐标魔都且只考虑金融IT方向,牛客上这方面的公司多数仅出现于offer对比贴,于是整理一下自己还记得的部分面经,给之后需要的同学一个参考。 > 中汇信息 软件开发 // 笔试(线下)选择、填空、简答、编程题(编程区分C和Java) 1、外联结、内联结 2、数据库事务 3、隔离级别 4、优化一段SQL语句 5、进程和线程 6、同步/异步和阻塞/非阻塞 7、内存泄漏/内存溢出 8、黑盒/白盒测试 9、希尔排序 10、

    09
    领券