恰當(dāng)選擇嵌入式Linux環(huán)境下的GUI系統(tǒng)
以純X Window System搭配Tiny X Server架構(gòu)來說,最大的優(yōu)點(diǎn)就是彈性與開發(fā)速度,因?yàn)榕c桌面的X架構(gòu)相同,因此相對(duì)于很多以Qt、GTK+、FLTK等開發(fā)的軟件可以很容易地移植上來。
雖然移植方便,但是卻有體積大的缺點(diǎn),由于很多軟件本來是針對(duì)桌面環(huán)境開發(fā)的,因此無形之中具備了桌面環(huán)境中很多復(fù)雜的功能。因此“調(diào)?!弊兂刹捎么思軜?gòu)最大的課題,有時(shí)候重新改寫都可能比調(diào)校所需的時(shí)間還短。
OpenGUI
OpenGUI在Linux系統(tǒng)上已經(jīng)存在很長(zhǎng)時(shí)間了。最初的名字叫FastGL,只支持256色的線性顯存模式,但目前也支持其他顯示模式,并且支持多種操作系統(tǒng)平臺(tái),比如MS-DOS、QNX和Linux等,不過目前只支持x86硬件平臺(tái)。OpenGUI分為三層: 最低層是由匯編語言編寫的快速圖形引擎;中間層提供了圖形繪制API,包括線條、矩形、圓弧等,并且兼容Borland的BGIAPI;第三層用C++編寫,提供了完整的GUI對(duì)象庫。
OpenGUI采用LGPL條款發(fā)布。OpenGUI比較適合于基于x86平臺(tái)的實(shí)時(shí)系統(tǒng),跨平臺(tái)的可移植性較差,目前發(fā)展較慢。
一點(diǎn)建議
綜合上述GUI解決方案各方面的性能,歸結(jié)起來有在國內(nèi)有四種GUI較為適用,筆者對(duì)其做出推薦。
1. OpenGUI
由于基于匯編實(shí)現(xiàn)內(nèi)核,并利用MMX指令進(jìn)行了優(yōu)化,OpenGUI運(yùn)行速度非???。它支持 32位的機(jī)器,能夠在多種操作系統(tǒng)下運(yùn)行,主要用來在這些系統(tǒng)中開發(fā)圖形應(yīng)用程序和游戲。由于歷史悠久,OpenGUI非常穩(wěn)定,但是由于其內(nèi)核用匯編語言實(shí)現(xiàn),其內(nèi)部使用的是私有的API,所以其可移植性較差,可配置性也較差。
2. Qt/Embedded
這個(gè)版本的主要特點(diǎn)是可移植性較好。因?yàn)镼t是KDE等項(xiàng)目使用的GUI支持庫,所以許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上。因此,自從Qt/Embedded以GPL條款發(fā)布以來,就有大量的嵌入式 Linux開發(fā)商轉(zhuǎn)到了Qt/Embedded系統(tǒng)上,如韓國的Mizi公司。但是,由于它是基于C++類庫的,所以和其他GUI相比系統(tǒng)消耗資源較大。因此說Qt/Embedded是肥美型的產(chǎn)品,功能豐富,一般用于手持式高端信息產(chǎn)品。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論