之前對X11 FRAMEBUFFER理解的不夠,現在總結一下
Qt
Embedded是挪威Trolletch公司的圖形化界面開發工具Qt的嵌入式版本,它通過QtAPI與LinuxI/O以及Framebuffer直接交互,擁有較高的運行效率,而且整體采用面向對象編程,擁有良好地體系架構和編程模式。
Qt/Embedded在原始Qt的基礎上,做了許多出色的調整以適合嵌入式環境。同
Qt/X11相比,Qt/Embedded很節省內存,因為它不需要Xserver或是Xlib庫,它在底層摒棄了Xlib,采用framebuffer
作為底層圖形接口。Qt/Embedded的應用程序可以直接寫內核幀緩沖,因此它在嵌入式linux系統上的應用非常廣泛。
Qt/Embedded 與
Qtopia
在Qt/Embedded版本4之前,Qt/Embedded和Qtopia是兩套不同的程序,Qt
/Embedded是基礎類庫,Qtopia是構建於Qt/Embedded之上的一系列應用程序。但從版本4開始,Trolltech將Qt
/Embedded並入了Qtopia,並推出了新的Qtopia4。在該版中,原來的Qt/Embedded被稱為QtopiaCore,作為嵌入式版本的核心,既可以與Qtopia配合,也可以獨立使用。原來的Qtopia則被分成幾層,核心的應用框架和插件系統被稱為Qtopia
Platform,上層的應用程序則按照不同的目標用戶分為不同的包,如Qtopai PDA,Qtopia Phone等
X11(X Window
System)是一個用於X Server和X Client通信協議。 Xlib將X11具體為一個個的功能函數。
Qt、Gtk+等為了更方便的利用Xlib,對其進行再封裝,形成了多組件應用程序開發框架(widget toolkits)。
Qt有3個版本,商業版和免費版(GPL和LGPL)。Qt是跨平台的,所以為四個OS平台開發了不同的產品:面向Linux的就叫Qt/X11,這個實際上是使用Xlib庫;面向嵌入式Linux就叫Qt/Embedded,這個采用直接同Linux
I/O或Framebuffer打交道;再就是面向Mac OS X和面向Windows的產品(?可能就直接叫做Qt)。基於Qt有最成功的產品 ---
KDE。基於Gtk+有最成功的產品 --- GNOME。二者基本成為Linux 桌面版本的標准組成部分。
以下內容整理自互聯網。
我們一般的開發情況是這樣的:
在跑linux 的PC上安裝基於
X11的PC版本和基於Embedded的嵌入式版本。
之所以要安裝PC版本,是因為我們的開發環境一定是PC平台,在PC上設計好QTE,編譯好后是無法在PC上運行的,無法調試。
所以安裝基於X11的PC版本,就可以調試了。因為QT是跨平台的。
所以我們平時是這樣開發的:在基於X11的PC上設計好,達到我們的要求后,用目標平台的環境編譯程序,拷貝到開發板即可運行。
說白了
就是搭建兩個編譯環境,根據你的目的選擇編譯環境而已。當然 嵌入式的QT相關文件必須拷貝到開發板的文件系統里哦
這兒配上一幅圖片大家什么都明白了