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

正文內(nèi)容

基于qt的嵌入式終端應(yīng)用程序開(kāi)發(fā)——記事本和電子相冊(cè)開(kāi)發(fā)畢業(yè)設(shè)計(jì)(論文)(編輯修改稿)

2024-08-15 11:40 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 9 USB、 CAN、 Bluetooth 或 IrDA通信接口,同時(shí)也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動(dòng)軟件。為了支持應(yīng)用軟件的特定編程模式,如 Web 或無(wú)線 Web 編程模式,還需要相應(yīng)的瀏覽器,如 HTML、 WML 等。 ( 3) 支持小型電子設(shè)備實(shí)現(xiàn)小尺寸、微功耗和低成本 為滿足這種特性,要求嵌入式產(chǎn)品設(shè)計(jì)者相應(yīng)降低處理器的性能,限制內(nèi)存容量和復(fù)用接口芯片。這就相應(yīng)提高了對(duì)嵌入式軟件設(shè)計(jì)技術(shù)要求。 如,選用最佳的編程模型和不斷改進(jìn)算法 (孫瓊 ,20xx)。 ( 4) 提供精巧的多媒體人機(jī)界面 嵌入式設(shè)備之所以為億萬(wàn)用戶樂(lè)于接受,重要因素之一是它們與使用者之間的親和力,自然的人機(jī)交互界面,如司機(jī)操縱高度自動(dòng)化的汽車主要還是通過(guò)習(xí)慣的方向盤(pán)、腳踏板和操縱桿。人們與信息終端交互要求以 GUI 屏幕為中心的多媒體界面。手寫(xiě)文字輸入、語(yǔ)音撥號(hào)上網(wǎng),收發(fā)電子郵件以及彩色圖形、圖像已取得初步成效。 影響未來(lái)的若干軟件新技術(shù) ( 1) 日趨流行的行業(yè)性開(kāi)放系統(tǒng)和備受青睞的自由軟件技術(shù) 華中農(nóng)業(yè)大學(xué)本科畢業(yè)論文(或設(shè)計(jì)) 8 為了對(duì)付日趨激烈的國(guó)際市場(chǎng)競(jìng)爭(zhēng)勢(shì)態(tài),設(shè)計(jì)技術(shù)共享和軟件重用 、構(gòu)件兼容、維護(hù)方便和合作生產(chǎn)是增強(qiáng)行業(yè)性產(chǎn)品競(jìng)爭(zhēng)能力的有效手段。走行業(yè)開(kāi)放系統(tǒng)道路是加快嵌入式軟件技術(shù)發(fā)展的捷徑之一。國(guó)際上自由軟件運(yùn)動(dòng)的順利發(fā)展, GPL 概念正對(duì)嵌入式軟件產(chǎn)業(yè)深遠(yuǎn)影響。嵌入式 Linux 多種原型的提出,和GNU 軟件開(kāi)發(fā)工具軟件的實(shí)用化進(jìn)展,正為我國(guó)加快發(fā)展嵌入式軟件技術(shù)提供了極好機(jī)遇和條件。 ( 2) 無(wú)線網(wǎng)絡(luò)操作系統(tǒng)初見(jiàn)端倪 未來(lái)移動(dòng)通信網(wǎng)絡(luò)不僅能夠提供豐富的多媒體數(shù)據(jù)業(yè)務(wù),而且能夠支持更多功能和更強(qiáng)的移終端設(shè)備。為了有效地發(fā)揮第三代移動(dòng)通信系統(tǒng)的優(yōu)勢(shì),許多設(shè)備廠商針對(duì)未來(lái)移動(dòng)設(shè)備的特點(diǎn)努力開(kāi)發(fā)無(wú) 線網(wǎng)絡(luò)操作系統(tǒng) (M. Tim Jones, 20xx)。 ( 3) IP 構(gòu)件庫(kù)技術(shù)正在造就一個(gè)新興的軟件行業(yè) 嵌入式系統(tǒng)實(shí)現(xiàn)的最高形式是單一芯片系統(tǒng) (SOC, System On Chip),而 SOC的核技術(shù)是 IP核 (即知識(shí)產(chǎn)權(quán)核 Intellectual Property Kernels)構(gòu)件。 IP核有硬件核、軟件核和固件核,硬件核主要指 8/16/32/64 位 MPU 核或 DSP 核。硬件提供商以數(shù)據(jù)軟件庫(kù)的形式,將其久經(jīng)驗(yàn)證的處理器邏輯和芯片版圖數(shù)據(jù),供 EDA 工具調(diào)用在芯片上直接配置 MPU/DSP 功能單元;而軟件核則是軟件 提供商將 SOC所需的 RTOS 內(nèi)核軟件或其它功能軟件,如通信協(xié)議軟件, FAX 功能軟件等構(gòu)件標(biāo)準(zhǔn) API 方式和 IP 核構(gòu)件形式供 IDE 和 EDA 工具調(diào)用制成 FLASH 或 ROM可執(zhí)行代碼單元,加速 SOC 嵌入式系統(tǒng)定制或開(kāi)發(fā)。目前一些嵌入式軟件供應(yīng)商紛紛把成熟的 RTOS內(nèi)核和功能擴(kuò)展件,以軟件 IP核構(gòu)件形式出售,如 Microtec的 VRTXoc for ARM 就是典型例子。正在興啟的 IP 構(gòu)件軟件技術(shù)正為一大批高智小型軟件公司提供發(fā)展機(jī)遇。 課題研究?jī)?nèi)容 針對(duì)嵌入式產(chǎn)品的高度個(gè)性化,其外觀、與用戶交互的界面千差萬(wàn)別的特點(diǎn),故而系統(tǒng)的設(shè)計(jì)目標(biāo)是意在打造一個(gè)能在嵌入式終端運(yùn)行、通用的、可以方便的支持各種控件、各種圖形格式,具有體積小、可裁剪、可移植的這樣一個(gè)面向嵌入式的應(yīng)用程序系統(tǒng),使各種嵌入式設(shè)備也同樣能具有美觀的用戶界面,相對(duì)比較豐富的功能,操作起來(lái)簡(jiǎn)單而又直觀。 本文通過(guò)對(duì)嵌入式 Linux 和 Qt 的分析,在嵌入式 Qt 的基礎(chǔ)上,開(kāi)發(fā)了面向嵌入式終端的記事本和電子相冊(cè)應(yīng)用軟件。記事本不僅支持英文輸入和顯示,而且支持中文和日文的顯示,還支持記事本文件的瀏覽、編輯、刪除等功能。電子相冊(cè)不僅支持中、英、日文圖片名字的顯示,還支持如放大 、縮小、旋轉(zhuǎn)等各種方式下的圖片瀏覽。它們體積小,移植方便,適用于掌上電腦、智能電話及一些高端的嵌入式設(shè)備中。此外它作為一種小型 GUI 解決方案,可用于那些對(duì) GUI華中農(nóng)業(yè)大學(xué)本科畢業(yè)論文(或設(shè)計(jì)) 9 大小要求苛刻的各種應(yīng)用系統(tǒng)中。 2 Linux 和 Qt 簡(jiǎn)介 Linux主要特性 Linux 是個(gè)和 Unix 相似、以 Unix 核心為基礎(chǔ)、完全內(nèi)存保護(hù)、多任務(wù)多進(jìn)程的操作系統(tǒng)。支持廣發(fā)的計(jì)算機(jī)硬件,包括 X86, Alpha, Sparc, MIPS, PPC,ARM, NEC 等現(xiàn)有的大部分芯片。程式源碼全部公開(kāi),任何人可以修改并在 GNU通用公共許可證 (GNU General Public License)下發(fā)行(陳英和梁建武, 20xx) ,這樣,開(kāi)發(fā)人員可以對(duì)操作系統(tǒng)進(jìn)行定制,再也不必?fù)?dān)心像 MS windows 操作系統(tǒng)中 后門(mén) 的威脅。同時(shí)由于有 GPL 的控制 ,大家開(kāi)發(fā)的東西大都相互兼容,不會(huì)走向分裂之路。 Linux 用戶遇到問(wèn)題時(shí)可以通過(guò) Inter 向網(wǎng)上成千上萬(wàn)的 Linux開(kāi)發(fā)者請(qǐng)教 ,這使最困難的問(wèn)題也有辦法解決。 Linux 帶有 Unix 用戶熟悉的完善的開(kāi)發(fā)工具,幾乎所有的 Unix 系統(tǒng)的應(yīng)用軟件都已移植到了 Linux 上。 Linux還提供了強(qiáng)大的網(wǎng)絡(luò)功能,有多種可選擇窗口管理 器( X windows)。其強(qiáng)大的語(yǔ)言編譯器 gcc、 g++等也可以很容易得到。不但成熟完善、而且使用方便,為嵌入操作系統(tǒng)提供了一個(gè)極有吸引力的選擇。 Linux 已經(jīng)被移植到多種硬件平臺(tái),這對(duì)受開(kāi)銷、時(shí)間限制的研究與開(kāi)發(fā)項(xiàng)目是很有吸引力的。原型可以在標(biāo)準(zhǔn)平臺(tái)上開(kāi)發(fā)然后移植到具體的硬件上,加快了軟件與硬件的開(kāi)發(fā)過(guò)程。 Linux 還有以下優(yōu)點(diǎn): ( 1) Linux 可以隨意地配置,不需要任何的許可證或商家的合作關(guān)系。 ( 2) 它是免費(fèi)的,源代碼可以得到。這是最吸引人的。毫無(wú)疑問(wèn),這會(huì)節(jié)省大量的開(kāi)發(fā)費(fèi)用。 ( 3) 它本身內(nèi)置網(wǎng)絡(luò)支持。 ( 4) Linux 的高度模塊化使添加部件非常容易。 ( 5) Linux 在臺(tái)式機(jī)上的成功,使大家看到了 linux 在嵌入式系統(tǒng)中的輝煌前景。 嵌入式產(chǎn)品中選擇什么樣的操作系統(tǒng)極為重要,嵌入式 Linux 由于其開(kāi)源特性、實(shí)時(shí)性好、可移植、內(nèi)置網(wǎng)絡(luò)支持等優(yōu)點(diǎn)在嵌入式領(lǐng)域成為主力軍。如今,業(yè)界已經(jīng)達(dá)成共識(shí):即嵌入式 linux 是大勢(shì)所趨,其巨大的市場(chǎng)潛力與醞釀的無(wú)限商機(jī)必然會(huì)吸引眾多的廠商進(jìn)入這一領(lǐng)域。 Qt 開(kāi)發(fā)工具簡(jiǎn)介 Qt 主要特性 Qt 是一個(gè)跨平臺(tái)的 C++圖形用戶界面庫(kù),由挪威 TrollTech 公司開(kāi)發(fā),目前華中農(nóng)業(yè)大學(xué)本科畢業(yè)論文(或設(shè)計(jì)) 10 包括 Qt/X1基于 Framebuffer 的 Qt/Embedded、快速開(kāi)發(fā)工具 Qt Designer 以及國(guó)際化工具 Qt Linguist 等。人們所熟知的 Linux 下面的 KDE 環(huán)境就是基于 Qt開(kāi)發(fā)而成的。 Qt 支持 Unix 和 Linux 系統(tǒng)以及 Windows 系統(tǒng)。 Qt 的主要特點(diǎn)有: 面向?qū)ο螅? 很容易擴(kuò)展, 并且允許真正的組件編程; Qt 對(duì)各個(gè)模塊進(jìn)行了良好的封裝,使各模塊可重用性較好;優(yōu)良的跨平臺(tái)特性, 使用 Qt 類編寫(xiě)的程序可以實(shí)現(xiàn) “一次編碼,到處編譯 ”,極大的降低了跨平臺(tái)開(kāi)發(fā)的難度(丁丁等, 20xx);構(gòu)件支持, 對(duì)于對(duì)象間通信 , Qt 沒(méi)有采用函數(shù)回調(diào)的方法,而是采用了一種全新并且可選的被稱為 “信號(hào)與槽 ” 的對(duì)象間通信機(jī)制,通過(guò)一個(gè)對(duì)象信號(hào)的發(fā)射,另一個(gè)槽函數(shù)的響應(yīng),使各個(gè)對(duì)象之間的通信安全而且高效。 Qt 的這些特點(diǎn)使它非常適合于真正的構(gòu)件編程, 同時(shí)使各個(gè)組件之間的協(xié)同工作變得十分簡(jiǎn)單,并且 Qt 是直接基于 Xlib 的,不依賴 Motif 工具包, 所以它的執(zhí)行效率比一般的基于平臺(tái)的代碼的執(zhí)行效率要高。 Qt 編程機(jī)制簡(jiǎn)介 ( 1) Qt 系統(tǒng)的信號(hào)與槽機(jī)制簡(jiǎn)介 信號(hào) /槽機(jī)制是 Qt 的一個(gè)中心特征并且也許是 Qt 與其它工具包的最不相同的部分。在圖 形用戶界面編程中,我們經(jīng)常希望一個(gè)窗口部件的一個(gè)變化被通知給另一個(gè)窗口部件 (張娟,張雪蘭 ,20xx)。更一般地,我們希望任何一類的對(duì)象可以和其它對(duì)象進(jìn)行通訊。 較老的工具包使用一種被稱作回調(diào)的通訊方式來(lái)實(shí)現(xiàn)同一目的?;卣{(diào)是指一個(gè)函數(shù)的指針,所以如果你希望一個(gè)處理函數(shù)通知你一些事件,你可以把另一個(gè)函數(shù)(回調(diào))的指針傳遞給處理函數(shù)。處理函數(shù)在適當(dāng)?shù)臅r(shí)候調(diào)用回調(diào)(倪繼利,20xx)。回調(diào)有兩個(gè)主要缺點(diǎn)。首先他們不是類型安全的。我們從來(lái)都不能確定處理函數(shù)使用了正確的參數(shù)來(lái)調(diào)用回調(diào)。因此容易造成進(jìn)程崩潰,另外一個(gè)問(wèn)題是,回調(diào)這種方式緊緊的綁定了圖形用戶接口的功能元素,因而很難把開(kāi)發(fā)進(jìn)行獨(dú)立的分類。 Qt 的信號(hào)與槽機(jī)制是不同的。 Qt 的信號(hào)與槽均以函數(shù)形式出現(xiàn), Qt 的窗口部件有很多預(yù)定義的信號(hào),但我們也可以通過(guò)繼承來(lái)加入我們自己的信號(hào)。槽就是一個(gè)可以被調(diào)用處理特定信號(hào)的函數(shù)。 Qt 的窗口部件有很多預(yù)定義的槽,但是通常的習(xí)慣是你可以加入自己的槽,這樣你就可以處理你所感興趣的信號(hào)。我們可以用 connect()函數(shù)對(duì)需要的信號(hào)和槽進(jìn)行連接。當(dāng)對(duì)象的內(nèi)部狀態(tài)發(fā)生改變,信號(hào)就被發(fā)射。從某種意義上講,它們也許對(duì)外面的世界感興趣。這就是所有的對(duì)象通訊時(shí)所做的一切。它不知道也不注意無(wú)論有沒(méi)有東西接收它所發(fā)射的信號(hào)。當(dāng)一個(gè)信號(hào)被發(fā)射,它所連接的槽會(huì)被立即執(zhí)行,就像一個(gè)普通函數(shù)調(diào)用一樣(見(jiàn)圖 1)。信號(hào) /槽機(jī)制完全不依賴于任何一種圖形用戶界面的事件回路。當(dāng)所有的槽都返回后發(fā)射的信號(hào)也將返回。信號(hào)與插槽機(jī)制并不要求類之間互相華中農(nóng)業(yè)大學(xué)本科畢業(yè)論文(或設(shè)計(jì)) 11 知道細(xì)節(jié),這樣就可以相對(duì)容易的開(kāi)發(fā)出代碼可高重用的類 (Matthias Dalheimer,20xx)。 信號(hào)和槽的機(jī)制是類型安全的:一個(gè)信號(hào)的簽名必須與它的接收槽的簽名相匹配。(實(shí)際上一個(gè)槽的簽名可以比它接收的信號(hào)的簽名少,因 為它可以忽略額外的簽名。)因?yàn)楹灻且恢碌?,編譯器就可以幫助我們檢測(cè)類型不匹配。它以警告的方式報(bào)告類型錯(cuò)誤,而不會(huì)使系統(tǒng)產(chǎn)生崩潰。信號(hào)和槽是寬松地聯(lián)系在一起的:一個(gè)發(fā)射信號(hào)的類不用知道也不用注意哪個(gè)槽要接收這個(gè)信號(hào) (Johan Thelin,20xx)。 Qt 的信號(hào)和槽的機(jī)制可以保證如果你把一個(gè)信號(hào)和一個(gè)槽連接起來(lái),槽會(huì)在正確的時(shí)間使用信號(hào)的參數(shù)而被調(diào)用。信號(hào)和槽可以使用任何數(shù)量、任何類型的參數(shù)。它們是完全類型安全的:不會(huì)再有回調(diào)核心轉(zhuǎn)儲(chǔ) (core dump)。 你可以把許多信號(hào)和你所希望的單一槽相連,并且一 個(gè)信號(hào)也可以和你所期望的許多槽相連。把一個(gè)信號(hào)和另一個(gè)信號(hào)直接相連也是可以的。(這時(shí),只要第一個(gè)信號(hào)被發(fā)射時(shí),第二個(gè)信號(hào)立刻就被發(fā)射。) 總體來(lái)看,信號(hào)和槽構(gòu)成了一個(gè)強(qiáng)有力的組件編程機(jī)制。 如果一個(gè)類要使用信號(hào)與槽機(jī)制,它就必須是從 QObject 或 QObject 的子類繼承,而且類的定義必須加上 Q_OBJECT 宏。 signals、 slots 和 emit 是 Qt 特有的關(guān)鍵字,分別用來(lái)表示信號(hào)、槽、和發(fā)送信號(hào),移除這些關(guān)鍵字和預(yù)處理程序,就可以使用標(biāo)準(zhǔn)的 C++編譯器。槽同其他函數(shù)一樣也具有訪問(wèn)權(quán)限,只是槽的訪問(wèn)權(quán)限決 定了誰(shuí)可以和它相連,如一個(gè) public slots:包含了任何信號(hào)都可以相連的槽 (Andrew Krause,20xx) 。一個(gè) protected slots:包含了只有這個(gè)類和它的子類的信號(hào)才能連接的槽。這就是說(shuō)這些槽只是類的實(shí)現(xiàn)的一部分,而不是它和外界的接口。 一個(gè) private slots:包含了只有這個(gè)類本身的信號(hào)可以連接的槽,甚至它的子類都沒(méi)有獲得連接的權(quán) 利。 圖 1 信號(hào)和槽的連接原理圖 Fig. 1 Signal and slot connection scheme 華中農(nóng)業(yè)大學(xué)本科畢業(yè)論文(或設(shè)計(jì)) 12 ( 2) Qt 元對(duì)象系統(tǒng) Qt 中的元對(duì)象系統(tǒng)是用來(lái)處理對(duì)象間通訊的信號(hào) /槽機(jī)制、運(yùn)行時(shí)的類型信息和動(dòng)態(tài)屬性系統(tǒng)。它基于下列三類: QObject 類、類聲明中的私有段中的Q_OBJECT 宏、元對(duì)象編譯器( moc)。 moc 讀取 C++源文件。如果它發(fā)現(xiàn)其中包含一個(gè)或多個(gè)類的聲明中含有Q_OBJECT 宏,它就會(huì)給含有 Q_OBJECT 宏的類生成另一個(gè)含有元對(duì)象代碼的C++源文件。這個(gè)生成的源文件可以被類的源文件包含( include)到或者和這個(gè)類的實(shí)現(xiàn)一起編譯和連接。 除了提供對(duì)象間通訊的信號(hào)和槽機(jī)制之 外(介紹這個(gè)系統(tǒng)的主要原因),QObject 中的元對(duì)象代碼實(shí)現(xiàn)其它特征: ( 1) className()函數(shù)在運(yùn)行的時(shí)候以字符串返回類的名稱,不需要 C++編譯器中的本地運(yùn)行類型信息( RTTI)的支持。 ( 2) inherits()函數(shù)返回這個(gè)對(duì)象是否是一個(gè)繼承于 QObject 繼承樹(shù)中一個(gè)特定類的類的實(shí)例。 ( 3) tr()和 trUtf8() 兩個(gè)函數(shù)是用于國(guó)際化中的字符串翻譯。 ( 4) setProperty()函數(shù) 和 property()函數(shù),這 兩個(gè)函數(shù) 是 用來(lái)通過(guò)名稱動(dòng)態(tài)設(shè)置和獲得對(duì)象屬性的。 ( 5) metaObject()函數(shù)返回這 個(gè)類所關(guān)聯(lián)的元對(duì)象。 雖然使用 QObject 作為一個(gè)基類而不使用 Q_OBJECT 宏和元對(duì)象代碼是可以的,但是如果 Q_OBJECT 宏沒(méi)有被使用,那么這里的信號(hào)和槽以
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1