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

正文內(nèi)容

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

2024-12-23 21:48 本頁面
 

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