当前位置: 首页 > news >正文

可以浏览的外文网站做网站没流量

可以浏览的外文网站,做网站没流量,长沙网页建站,精品网课关键技术 http://blog.csdn.net/master_max/article/details/1540204 MFC和GTK的区别#xff1f;#xff1f; 1.  两者都是基于面向对象设计的。尽管MFC是用C写的#xff0c;而GTK是用C写的#xff0c;但思想都是面向对象的。GTK使用glib的对象机制#xff0c;由于用C写…关键技术 http://blog.csdn.net/master_max/article/details/1540204     MFC和GTK的区别 1.  两者都是基于面向对象设计的。尽管MFC是用C写的而GTK是用C写的但思想都是面向对象的。GTK使用glib的对象机制由于用C写的其实现相对有点繁琐。  2.  两者都是基于消息驱动的。这是GUI系统的共性消息可以是硬件上报的如鼠标事件、键盘事件和触摸屏等等也可以是程序产生如一个窗口给另外一个窗口 发送了一个消息。但两者并不完全相同GTK通过select挂在多个文件描述符上可以同时等待多个事件源比如socket、子进程退出和内核事件 等等而MFC只能通过GetMessage挂到消息队列上。  3.  两者都不是线程安全的即只有一个线程可以操作GUI资源。主要是出于性能的考虑这个问题不大因大多数应用程序都是单线程的。而且它们都提供一些机 制让其它线程可以在必要时操作GUI资源。在GTK中可以通过idle函数来实现在MFC中可以通过PostMessage来实现(附带说明一下 Win32原生的GUI API是线程安全的)。  4.  GTK整合了一系列的基础函数库功能强大而MFC孤军做战势单力薄。Glib是GTK的基本库里面实现了常见的容器和算法可谓应有尽有同 时隔离了平台相关的功能。Pango是GTK用于文字渲染的函数库它负责控制不同文字的layout布局而把字模的绘制交给freetype等字体 函数库处理。MFC虽然实现了一些容器但数量不多也不好用除了对原生GUI API的包装外没提供多少其它功能与Microsoft Foundation Class Library这个名称一点都不相称。  5.  GTK是跨平台的而MFC则不是。GTK在设计时就考虑了可移植性它按分层模型来组织整个系统Glib封装了依赖于OS平台的函数提供一套抽 象的接口在不同的平台有不同的实现。GDK封装了依赖于输入/输出设备的功能如键盘事件的获取和显示缓冲的输出同时实现了基本的绘图功能。GTK 几乎可以在所有PC平台下运行而MFC从来都没有考虑过可移植性它是与Win32 GUI绑定在一起的。  6.  GTK小巧而MFC笨重。GTK编译出来的可执行文件约3M左右而MFC本身虽然不大但它各种版本加在一起就可观了。MFC有ansi版本、有 unicode版、有debug版、有release版、还有一些组合如果你因此而晕倒了那是很正常的。  7.  GTK的使用简单MFC的使用繁琐。GTK的使用比较简单即使在没有工具的帮助下要写一个GTK的应用程序也不难实际上绝大多数GTK应用程序都是一行代码一行代码的敲出来的。而MFC的使用则太麻烦了很难想象没有VC的向导的帮助写一个基于MFC的应用程序。即有了VC的向导仍有大量的程序员说MFC很难用。  8.  GTK使用signal机制解开消息源与消息目标之间耦合。而MFC使用消息将消息源与消息目标硬编码在一起。Signal的好处是不需要知道目 标是谁谁关心谁就注册这种出版订阅机制是解耦的最佳方式。而MFC的消息则是必须知道目标是谁把消息源与消息目标死死的绑在一起。MFC提供了一套 文档/视图框架实现了类似出版订阅的功能这本是设计者引以自豪的东西结果因为太复杂不能被人理解反而为开发人员所诟病。  9.  GTK采用layout机制动态计算各子窗口的坐标位置自适应屏幕大小的变化。而MFC要求子窗口的坐标位置硬编码结果要适应不同分辨率的屏幕非常 困难。GTK在窗口布局时分为两个阶段第一个阶段父窗口先询问子窗口的最佳大小第二个阶段父窗口根据自己的大小计算子窗口的实际大小子窗口根据实 际大小进行调整。  10. GTK采用容器机制来合理分离控件的职责MFC没有容器这个概念很难实现递归组合。GTK中差不多所有控件都是容器都可以容纳其它任何控件而 MFC只有顶层窗口才是容器可以容纳其它子控件。容器这个概念对代码重用的影响非常之大这里举两个例子其一是带图片的按钮 (BitmapButton)在GTK中它就是GtkImage和GtkLabel的组合而在MFC中图片和文字都要自己绘制。前者的 GtkImage和GtkLabel可以在很多地方重用而后都的绘制代码和事件处理代码只有自己才能使用。其二是列表框在GTK中它只是一个容 器你可以向里面放编辑器、下拉框和其它任何者你想得到的控件。而在MFC中即使只是实现一个不同外观的列表框你都要采用自绘的方式代码重用非常困 难向列表框中加入其它控件就更麻烦了要使用一些非同寻常的手段不可。  11. GTK采用容器机制优先使用组合而不是继承符合现代设计的原则。MFC强制使用继承使用麻烦而且耦合紧密。GTK应用程序不需要继承任何窗口。 MFC应用程序必须继承对话框或者其它顶层窗口才行虽然可以采用中介者模式把控件之间的交互集中在顶层窗口中不需要继承控件但仍然很麻烦。转载于:https://www.cnblogs.com/fickleness/p/3148843.html
http://wiki.neutronadmin.com/news/332027/

相关文章:

  • 青岛市网站建设公司免费咨询医生的平台
  • 佛山外贸网站建设方案呼和浩特网络运营
  • 汕头网络公司网站建设路由器组网怎么设置
  • 城阳做网站在线排版设计
  • 做网站买域名要多少钱资金盘做网站
  • 做网站资源物业公司企业文化建设
  • 做品牌网站哪个好用网站登录账号密码保存
  • 图书馆网站建设请示龙岩建设局网站声明
  • 百度集团网站建设方案手机网站 php
  • 网站二级域名怎么弄建设网站的各种问题
  • 阿里巴巴网站建设规划查询网站后台地址
  • 南京商城网站开发设计网站上的招牌图怎么做
  • 永州网站开发公司wordpress 菜单相册
  • 中国有名的网站建设公司徐州企业自助建站
  • 南通外贸网站制作中国工程监理人才网
  • 知道域名怎么进入网站网页设计代码中字体的颜色如何改
  • c#网站开发框架有seo优化顾问
  • 淘宝网发布网站建设重庆网站搭建公司
  • 成品网站建设网盘怎么做电影网站
  • 双桥网站建设关于市场营销的案例
  • 郑州本地做团购的网站润滑油东莞网站建设技术支持
  • 如果做网站接口在线做试卷网站
  • flash网站代码下载学校培训网站建设
  • 网站开发包含网站维护吗第三方wordpress安卓客户端
  • 365网站建设徐州网站建设的特点
  • 深圳建站公司告诉你十个建站步骤厦门做个网站多少钱
  • 免费的网站软件山东网站排行
  • 做简历网站js模板网站
  • 源码屋整站源码内推网
  • 浙江华临建设集团有限公司网站婚纱网站建设目的