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

正文內(nèi)容

基于linux操作系統(tǒng)的網(wǎng)絡(luò)應(yīng)用軟件開發(fā)-文庫吧

2025-06-03 14:20 本頁面


【正文】 于其他一些硬件資源,若內(nèi)核并未提供驅(qū)動程序,則需要自行編寫。對設(shè)備驅(qū)動程序的移植與編寫都應(yīng)該遵循Linux驅(qū)動程序接口以及設(shè)備模型的規(guī)定,只有這樣才能被內(nèi)核識別。 2. 數(shù)據(jù)傳輸通道軟件方案設(shè)計 所謂數(shù)據(jù)傳輸通道軟件功能,指的是如何使數(shù)據(jù)傳輸通道兩端的軟件實現(xiàn)數(shù)據(jù)傳輸。針對本文使用的GPRS網(wǎng)絡(luò),就是軟件如何使嵌入式終端通過PPP撥號連入GPRS網(wǎng)絡(luò)。由于剛構(gòu)建的Linux操作系統(tǒng)只能完成操作系統(tǒng)最基本的功能,而其它功能的實現(xiàn)還需要移植相應(yīng)的應(yīng)用程序到嵌入式Linux操作系統(tǒng)當中[6]。對于PPP撥號,需要將ppp撥號程序移植到操作系統(tǒng)當中。3. 上位機軟件方案設(shè)計 上位機軟件相比嵌入式數(shù)據(jù)采集終端要簡單很多。上位機安裝Windows XP操作系統(tǒng),已經(jīng)具備了所有運行條件,只要為其編寫相應(yīng)的服務(wù)器程序即可。由于本文旨在設(shè)計一個方便多種應(yīng)用環(huán)境使用的軟件模型,應(yīng)當考慮所設(shè)計的程序的通用性。上位機被設(shè)計為一個并發(fā)服務(wù)器。服務(wù)器應(yīng)用程序的主要功能有:接受客戶端的連接,獲取客戶端傳來的數(shù)據(jù)并寫入文件,分析數(shù)據(jù)并顯示出錯數(shù)據(jù),向客戶端發(fā)送命令,查詢客戶端運行狀態(tài)等。除了接受客戶端連接是屬于主線程的任務(wù),其他工作則都是隸屬于某個客戶端對應(yīng)的線程的[7]。因此,有多少客戶端連接在服務(wù)器上,服務(wù)器程序就有多少個線程在運行。三 應(yīng)用程序設(shè)計 (一) Qt簡介本節(jié)則重點介紹Qt的圖形界面設(shè)計方法以及Qt所采用的通信機制,這些設(shè)計方法以及通信機制將伴隨應(yīng)用程序開發(fā)的整個過程。1. Qt圖形界面設(shè)計方法Qt圖形界面的設(shè)計方法主要有兩種:利用Qt Creator通過代碼設(shè)計及利用Qt Designe:進行可視化設(shè)計。兩種方法各有利弊,Qt Creator使圖形界面設(shè)計具有更強的可控性,使用戶更方便的完成相應(yīng)的設(shè)計。而Qt Designer為用戶提供了更加快捷的圖形界面設(shè)計方法,但無法對控件的全部特性進行操控。由于兩種方式各有利弊,卻又互相包含,本文采用兩種方法相結(jié)合的方式進行設(shè)計,首先采用Qt Designer對圖形界面做出設(shè)計,然后利用代碼對其詳細特性進行設(shè)定。 2. Qt通信機制 Qt的通信機制常用的主要有兩種[43]:信一號和槽以及事件。下面對兩種機制進行說明。信號和槽機制是Qt編程的基礎(chǔ),可以說只要使用Qt進行編程,就不可避免的要使用信號和槽機制。它可以把互不相關(guān)的對象聯(lián)系起來,實現(xiàn)了面向?qū)ο笤O(shè)計中對消息傳遞及響應(yīng)的要求。槽是一個普通的函數(shù),可以對其直接調(diào)用,也可將其與一個信號連接起來,用于對信號進行響應(yīng)。通過下面的方式,將一個槽和信號關(guān)聯(lián)起來: connect(sender, SIGNAL(signal), receiver, SLOT(slot))。其中的信號signal和槽slots在代碼中由Qt的偽關(guān)鍵字signals和slots來標識。事件是由Qt窗口系統(tǒng)或者Qt自身產(chǎn)生的。一般情況下利用Qt進行編程不需要關(guān)注事件,因為Qt庫中自帶的控件已經(jīng)將其轉(zhuǎn)化為了信號,但當我們需要自定義控件,事件就變得非常有用了。在Qt中所有事件類都是 QEevent 類的子類,而事件就是對應(yīng)事件類的一個實例。當一個事件發(fā)生時如圖31所示,Qt首先調(diào)用QApplication::notify()發(fā)送一個事件,該事件被發(fā)送給qApp對象,該對象是一個應(yīng)用程序中唯一一個QApplication類的對象,如果在該對象中注冊了對應(yīng)事件的事件過濾器,則事件一首先被發(fā)送到qApp對象的eventFilter()函數(shù),如果該函數(shù)對事件進行了處理,事件將不再傳遞,否則,事件被傳到該事件對應(yīng)的對象的事件過濾器并執(zhí)行該對象的eventFilter() ICI數(shù),同樣,如果該事件被處理,則不再下傳,否則事件被傳遞到QObject::event()函數(shù)進行處理,如果該事件被處理,則不再下傳,否則事件不得不被傳遞到專門的事件處理器進行處理,而這里也將是應(yīng)用程序?qū)κ录M行處理的最后機會,否則事件將采用默認的方式被處理[8]。圖31 Qt事件處理基于上面的描述,我們有以下五種方式對事件進行處理:(1)重新實現(xiàn)特殊的事件處理器。(2)重新實現(xiàn)QObject :: event()。(3)在QObject 中安裝事件過濾器。(4)在QApplication對象中安裝事件過濾器。(5)子類化QApplication并且重新實現(xiàn)notify().本文設(shè)計軟鍵盤采用了事件處理機制,而其他部分則采用了信號和槽機制。(二) 嵌入式Linux數(shù)據(jù)采集終端應(yīng)用軟件設(shè)計 1. Qt庫及tslib移植 為了使用Qt開發(fā)ARM平臺下的應(yīng)用程序,需要對Qt庫進行移植。同時,為了更好的使用觸摸屏,需要移植tslib,它可以完成對觸摸屏的濾波、去抖、校準等功能。移植Qt庫前先要移植tslib。下載源碼并解壓源碼,進入tslib目錄,配置參數(shù),命令如下: ./configure host=arm linux disablehp3600 disablearctic2 disablemk712disable collie disablecorgi disableucb1x00 disablelinearh2200 with gnu ldprefix=/opt/tslib installac_ cv func_ malloc_ 0_ nonnull=yes 具體參數(shù)含義在源碼配套的文本中有很好的說明,這里不再贅述。值得注意的是配置參數(shù)中指明使用armlinux作為交叉編譯器,安裝目錄是/opt/tslib_instal。 執(zhí)行make,編譯源碼,完成后再執(zhí)行make install。進行安裝,安裝目錄在前面配置參數(shù)時已經(jīng)指定。安裝后,安裝目錄中包含
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1