您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用

发布日期:2011-04-22


    在嵌入式 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 的,第三方开辟的体系都能与它们举行链接; 

    7、 GTK+/X 二者都是基于 C 代码的,而不是C++; 

    8、 GTK+ 利用 C 来实现了面向东西的架构;