freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式linux下的圖形化窗口qt的移植與研究(編輯修改稿)

2025-07-20 08:32 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 代碼稱為“圖形引擎”或“輸入引擎”,類似操作系統(tǒng)中的驅(qū)動(dòng)程序。這實(shí)際是一種面向?qū)ο蟮某绦蚪Y(jié)構(gòu)。越)I編程接口嵌入式GUIGAL層168。L層設(shè)備抽象層圖形顯示設(shè)備輸入設(shè)備系統(tǒng)硬件目前應(yīng)用于嵌入式Linux系統(tǒng)中比較成熟,功能也比較強(qiáng)大的GUI系統(tǒng)底層支持庫(kù)有SVGAlib、LibGGI、Xwindo、Frame buffer等。1.2底層圖形發(fā)生引擎的介紹Linux圖形領(lǐng)域中常見(jiàn)的基礎(chǔ)設(shè)施,是因?yàn)檫@些系統(tǒng)(或者函數(shù)庫(kù))一般作為其他高級(jí)圖形或者圖形應(yīng)用程序的基本函數(shù)庫(kù)。這些系統(tǒng)(或者函數(shù)庫(kù))主要包括:sVGAlib、LibGGI、windo、Frame buffer等,詳述如下:1.2.1 LibGGILibGGI試圖建立一個(gè)一般性的圖形接口,而這個(gè)抽象接口連同樣關(guān)的輸入(鼠標(biāo)、鍵盤(pán)、游戲桿等)抽象接口一起,可以方便地運(yùn)行在X Windows、SVGALib、FrameBuffer等等之上。建立在“bGGI之上的應(yīng)用程序,不經(jīng)重新編譯,就可以在上述這些底層圖形接口上運(yùn)行。但是現(xiàn)在LibGGI的發(fā)展幾乎停滯。1.2.2 SVGAlibSVGAlibj是Linux系統(tǒng)中最早出現(xiàn)的非X圖形支持庫(kù)。這個(gè)庫(kù)從最初對(duì)標(biāo)準(zhǔn)VGA兼容芯片的支持開(kāi)始,一直發(fā)展到對(duì)老式SVGA芯片的支持對(duì)及對(duì)現(xiàn)今流行的高級(jí)視頻芯片支持。它為用戶提供了在控制臺(tái)上進(jìn)行圖形編程的接口,使用戶可以在PC兼容系統(tǒng)上方便地獲得支持。但該系統(tǒng)有如下不足:1)接口雜亂。SVGALib從初的Vgalib發(fā)展而來(lái),保留下了老系統(tǒng)許多接口,而些接口卻不能良好地迎合新顯示芯片的圖形能力。2)未能較好地隱藏硬件細(xì)節(jié)。許多操作不能自動(dòng)使用顯示芯片的加速能力支持。3)可移植性差。SVGALib目前只能運(yùn)行在x86平臺(tái)上,對(duì)其他平臺(tái)的支持較差。4)發(fā)展緩慢,sVGALib作為一個(gè)老的圖形支持庫(kù),目前的應(yīng)用范圍越來(lái)越尤其在Linux內(nèi)核增加了Frame Buffer驅(qū)動(dòng)支持之后,有逐漸被其他圖形庫(kù)替代的跡象。5)對(duì)應(yīng)用的支持能力較差。SVGALib作為一個(gè)圖形庫(kù)對(duì)高級(jí)圖形功能的支持,比如直線和曲線等,不能令人滿意。1.2.3 Frame BufferFrame Buffer是出現(xiàn)在2.2xx內(nèi)核中的一種驅(qū)動(dòng)程序接口,將顯示設(shè)備抽象為幀緩沖區(qū).可以將它看成顯示內(nèi)存的一個(gè)映像,將其映射到進(jìn)程地址空間之后,就可以直接進(jìn)行讀寫(xiě)操作,而寫(xiě)操作可以立即反應(yīng)在屏幕上.Frame Buffer設(shè)備還提供了若干ioctl命令,通過(guò)這些命令,可以獲得顯示設(shè)備一些固定信息(如顯示內(nèi)存大小)與顯示模式相關(guān)的可變信息(如分辨率、象素結(jié)構(gòu)、每掃描線的字節(jié)寬度)、當(dāng)前內(nèi)核支持的加速顯示卡的類型(通過(guò)固定信息得到,這種類型通常是和特定顯示芯片相關(guān)的),以及偽彩色模式下的調(diào)色信息等。但Frame Buffer只是一個(gè)提供顯示內(nèi)存和顯示芯片寄存器從物理內(nèi)存映射到進(jìn)程地址空間中的設(shè)備。所以,對(duì)于應(yīng)用程序而言,如果希望在Frame Buffer之上進(jìn)行圖形編程,還需要完成其他許多工作。2現(xiàn)有嵌入式GUI的敘述在Linux之上進(jìn)行(實(shí)時(shí))嵌入式系統(tǒng)開(kāi)發(fā)的廠商,一般選擇如下幾種GUI系統(tǒng):緊縮的X Window系統(tǒng)、MiniGUI、MicroWindows、QT/Embedded等。2.1緊縮的x Window系統(tǒng)X Window是Linux以及其他類UNIX系統(tǒng)的標(biāo)準(zhǔn)GUI.x window系統(tǒng)采用標(biāo)準(zhǔn)的客戶/服務(wù)器體系結(jié)構(gòu),具有可擴(kuò)展性好、可移植性好等優(yōu)點(diǎn);但該系統(tǒng)的龐大、累贅和低效率。為了獲得應(yīng)用程序的可移植性,許多廠家都試圖通過(guò)對(duì)XWindow系統(tǒng)的緊縮開(kāi)發(fā),使之能夠在嵌入式系統(tǒng)上運(yùn)行。國(guó)外已經(jīng)開(kāi)發(fā)出了大小約為800K的X服務(wù)器。這對(duì)西方國(guó)家來(lái)說(shuō)基本能夠滿足嵌入式系統(tǒng)的需求了。但該系統(tǒng)的源代碼尚不開(kāi)放,從而很難進(jìn)行本地化開(kāi)發(fā)。2.2 MicrOWindOwsMicroWindows是一個(gè)開(kāi)放源碼的項(xiàng)目,目前由美國(guó)一家公司在主持開(kāi)發(fā).該項(xiàng)目的開(kāi)發(fā)非?;钴S,國(guó)內(nèi)也有人參與了其中的開(kāi)發(fā),并編寫(xiě)了GB2312等字符集的支持.該項(xiàng)目的主要特色在于提供了比較完善的圖形功能,包括一些高級(jí)的功能,比如Alpha混合,三維支持,TrueType字體支持等.但作為一個(gè)窗口系統(tǒng),該項(xiàng)目提供的窗口處理功能還需要進(jìn)一步完善,比如控件或構(gòu)件的實(shí)現(xiàn)還很不完備,鍵盤(pán)和鼠標(biāo)等驅(qū)動(dòng)還很不完善.2.3 QT/EmbeddedQT/Embedded是著名的QT庫(kù)開(kāi)放商正在進(jìn)行的面向嵌入式系統(tǒng)的QT版本。這個(gè)版本的主要特點(diǎn)是可移植性較好,許多基于QT的X Window程序可以非常方便地移植到嵌入式版本。QT/Embedded采用兩種方式進(jìn)行發(fā)布:在GPL協(xié)議下發(fā)布的free版與專門(mén)針對(duì)商業(yè)應(yīng)用的mercial版本。如果你要在商業(yè)中使用這個(gè)庫(kù),需要支付昂貴的授權(quán)費(fèi)用。2.4 MiniGUI簡(jiǎn)介MiniGUI是一種面向嵌入式系統(tǒng)或者實(shí)時(shí)系統(tǒng)的圖形用戶界面支持系統(tǒng)。它主要運(yùn)行于Linux控制臺(tái),實(shí)際也可以運(yùn)行一種具有POSIX線程支持的POSIX兼容系統(tǒng)上。MiniGUI同時(shí)也是國(guó)內(nèi)最早出現(xiàn)的幾個(gè)自由軟件項(xiàng)目之一。MiniGUI為了得到最大的效率,采用基于線程的多窗口機(jī)制。這種結(jié)構(gòu)對(duì)數(shù)控系統(tǒng)這樣任務(wù)單一、實(shí)時(shí)要求高的系統(tǒng)來(lái)講,是最佳解決方案。但如果系統(tǒng)中運(yùn)行的任務(wù)并不是單一的,就有可能因?yàn)橐粋€(gè)任務(wù)的失效而影響其他任務(wù)。因此,提高GuI系統(tǒng)的健壯性就成為另一個(gè)亟待解決的問(wèn)題。3每個(gè)系統(tǒng)設(shè)計(jì)優(yōu)點(diǎn)及特色3.1 三種嵌入式GUI系統(tǒng)的分析與比較3.11 MicrowindowsWicrowindows是一個(gè)典
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1