快速业务通道

在嵌入式Linux系统中应用的GTK 和X分析

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-04

  在嵌入式 Linux 下有很多图形界面系统 GUI,包括 Qt/Embedded,FLTK,Microwindows 和 GTK 等.作为一个开发者,到底使用什么样的 GUI 系统呢?对一个系统,将它改造为符合你的需求,你要做多少修改呢?修改后的系统的尺寸一般会有多大呢?这些都是开发人员会遇到的问题.我们在这里讨论的就是要对这些内容做一个具体细致的分析,通过我们的讨论,大家会对基于 GTK 和 X 的 GUI 在嵌入式Linux 下的应用有一个确切的了解.
 
  在嵌入式系统应用日益发展的今天,越来越多的应用都需要使用到 GUI 来进行开发,以此来获得更好的交互性.
 
  嵌入式 Linux 下 GUI 的选择,对大多数开发人员来说是一个需要权衡对比的过程.选择 GTK 运行在 X 系统上,然后 X 系统运行在嵌入系统的 framebuffer 上,这会是一个很好的选择.
 
  GTK 与 X 的优点
 
  当然,GTK 与 X 一般都是被大家考虑为体积较大的桌面系统的好搭配,但实际上对于嵌入系统来说,它也有着诸多的优点:
 
  1、 X-window 系统与 GTK 都非常稳定可靠,X-window 系统是经历了长期的开发及应用实践的,GTK 也是一个比较成熟的开放源代码项目;
 
  2、 X-window 系统是一个灵活的 client/server 的模型结构,一个应用客户端的崩溃不会影响到图形系统的其他部分,这是一个很重要的特性,它有利于支持第三方应用的扩展开发,而不影响到主体部分;
 
  3、 GTK 有两个重要的库:GDK和GLIB.GDK抽象了底层的窗口管理,要移植 GTK 到另一个不同的窗口系统的话,我们只需要移植 GDK 就可以了.GLIB 是一个工具集合,它包括了数据类型,各种宏定义,类型转化,字符串处理,任何应用程序都可以链接这个 GLIB 库,使用其中的各种数据类型、方法,来避免重复代码,或者说避免开发人员重新发明轮子,这样有利于减少整个系统的尺寸;
 
  4、 对 GTK /X 的裁剪是很容易的,它们有着很好的可配置的选项,有着清晰的代码结构,可以保证安全正确地去掉大段的不需要的代码;
 
  5、 GTK 有着大量的应用,GTK 已经被用在了很多重要的应用系统中;
 
  6、 GTK 的授权是 LGPL 方式的,X 是 non-copyleft free license 的,第三方开发的系统都能与它们进行链接; 拥有帝国一切,皆有可能。欢迎访问phome.net
 
  7、 GTK /X 二者都是基于 C 代码的,而不是C ;
 
  8、 GTK 使用 C 来实现了面向对象的架构;
 
  其他 GUI 系统
 
  其他可以选择的图形系统包括:Qt/Embedded,FLTK 和 Microwindows.
 
  1、 Qt/E 是其中较高级的,它是一个完整的,基于 framebuffer 的 GUI 系统,由 Trolltech 公司开发;
 
  2、 Qt/E 有着高效的图形渲染效果,还包括 TrueType 字体系统,及 alpha blending 半透明处理;
 
  3、 但 Qt/E 不是使用 LGPL 授权方式,而是使用两种授权方式:开发使用 GPL,而商用需要授权与版税;
 
  4、 Qt/E 是用 C 编写的;
 
  5、 Qt/E 非常大,一个 iPAQ QPE 就包括了 3.3MB 的 Qt/E 库和一个 718KB 的 QPE 库(和 Xlib 类似的一种库);
 
  6、 Qt/E 不够稳定,QPE demo 不错,但出现过崩溃;
 
  7、 FLTK (the Fast Light Toolkit) 是一个小型的 GUI 图形系统,它也是用 C 写的,特性太少,应用范围较少,不够成熟;
 
  8、 Microwindows 和 X-Window 相比也是一个不错的选择,它占用大约 100KB-600KB 大小的内存,和文件存储空间,虽然已经有了一个其上的 GTK 移植,但还是不够成熟;
 
  X-window:比你想象的要小很多
 
  对于X-window系统,广大的网络开发者已经做了大量的工作来减小其的尺寸,最知名的有TinyX.可以通过对不需要的代码的裁剪及去除XLIB中静态数据来减少总体的尺寸,如:color管理系统,弧形,粗线条等.
 
  在大多数开发人员的印象里,X 系统很庞大,但实际上,你听到

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号