版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程實(shí)驗(yàn)報(bào)告操作系統(tǒng)課程設(shè)計(jì)課程名稱:專業(yè)班級(jí):學(xué) 號(hào):姓 名:指導(dǎo)教師:報(bào)告日期: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.目錄 TOC o 1-5 h z 實(shí)驗(yàn)1:進(jìn)程并發(fā)實(shí)驗(yàn)1 HYPERLINK l bookmark31 o Current Document 1.1實(shí)驗(yàn)概述1 HYPERLINK l bookmark34 o Current Document 1.2實(shí)驗(yàn)內(nèi)容1 HYPERLINK l bookmark39 o Current Document 1.3實(shí)驗(yàn)設(shè)計(jì)1 HYPERLINK l bookmark42 o Current Document 1.4實(shí)驗(yàn)過程2 HYPERLINK l b
2、ookmark54 o Current Document 1.5實(shí)驗(yàn)結(jié)果3 HYPERLINK l bookmark57 o Current Document 1.6實(shí)驗(yàn)小結(jié)3實(shí)驗(yàn)2:添加系統(tǒng)功能調(diào)用 4 HYPERLINK l bookmark60 o Current Document 實(shí)驗(yàn)概述 4 HYPERLINK l bookmark82 o Current Document 實(shí)驗(yàn)內(nèi)容 42.2.1階段1添加源代碼42.2.2階段2連接新的系統(tǒng)功能調(diào)用 42.2.3階段3重建內(nèi)核52.2.4階段4修改grub文件 62.3實(shí)驗(yàn)小結(jié)6實(shí)驗(yàn)3:添加設(shè)備驅(qū)動(dòng)程序8 HYPERLINK l b
3、ookmark79 o Current Document 3.1實(shí)驗(yàn)概述83.2實(shí)驗(yàn)內(nèi)容81階段1編寫設(shè)備驅(qū)動(dòng)程序83.2.2階段2編譯設(shè)備驅(qū)動(dòng)模塊83.2.3階段3加載設(shè)備驅(qū)動(dòng)模塊93.2.4階段4生成設(shè)備文件93.2.4階段5編寫應(yīng)用程序測(cè)試93.3實(shí)驗(yàn)小結(jié) 1011 實(shí)驗(yàn)總結(jié)實(shí)驗(yàn)1:進(jìn)程并發(fā)實(shí)驗(yàn)1.1實(shí)驗(yàn)概述通過本次進(jìn)程并發(fā)實(shí)驗(yàn),讓同學(xué)更加熟悉和理解Linux編程環(huán)境。1.2實(shí)驗(yàn)內(nèi)容本次實(shí)驗(yàn)的內(nèi)容主要分為兩個(gè)任務(wù):編寫一個(gè)C程序,用read、write等系統(tǒng)調(diào)用實(shí)現(xiàn)文件拷貝功能。命令形式: copy 源文件名目標(biāo)文件名編寫一個(gè)C程序,使用圖形編程庫(QT/GTK)分窗口顯示三個(gè)并發(fā)進(jìn)程的
4、運(yùn)行 (一個(gè)窗口實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間,一個(gè)窗口循環(huán)顯示0到9, 一個(gè)窗口做1到 1000的累加求和,刷新周期均為1秒)。1.3實(shí)驗(yàn)設(shè)計(jì)任務(wù)1:實(shí)驗(yàn)1的第一個(gè)階段需要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的C語言程序,首先需要有一個(gè) 復(fù)制的源文件,同時(shí)需要?jiǎng)?chuàng)建一個(gè)存放復(fù)制內(nèi)容的復(fù)制文件,文件復(fù)制傳輸?shù)闹?間站可以設(shè)置一個(gè)緩沖數(shù)組,此次試驗(yàn)設(shè)計(jì)了一個(gè)大小為10個(gè)字節(jié)的數(shù)組。打 開復(fù)制源文件,返回一個(gè)INT標(biāo)識(shí),使用readbuf()函數(shù),每次讀取10個(gè)字 節(jié)的內(nèi)容,將內(nèi)容存放到緩沖區(qū)數(shù)組,使用writebuf()函數(shù)將緩沖區(qū)的10個(gè) 字節(jié)寫到復(fù)制文件中,重復(fù)上述過程直到將整個(gè)復(fù)制過程完成。任務(wù)2:實(shí)驗(yàn)的第二個(gè)階段是實(shí)現(xiàn)進(jìn)程
5、的同步,實(shí)現(xiàn)的工具是QT。主要實(shí)現(xiàn)3 個(gè)進(jìn)程的同步,3個(gè)進(jìn)程分別為:實(shí)時(shí)顯示系統(tǒng)時(shí)間、循環(huán)顯示0-9、顯示1-1000 的累加和。以上程序的刷新時(shí)間設(shè)置為1秒鐘。使用的是c+編程語言。為了實(shí) 現(xiàn)3個(gè)進(jìn)程。需要為這3個(gè)進(jìn)程分別創(chuàng)建3個(gè)不同的類,這3個(gè)不用的類具有不 同的成員函數(shù),使用成員函數(shù)來實(shí)現(xiàn)進(jìn)程的所代表的具體細(xì)節(jié)。為了實(shí)現(xiàn)進(jìn)程的 結(jié)果能實(shí)時(shí)更新,需要調(diào)用connect()函數(shù),該函數(shù)的功能是每當(dāng)其中的timer 每次發(fā)生變化時(shí),就回調(diào)用該類的成員函數(shù),也就是進(jìn)程的具體實(shí)現(xiàn),從而實(shí)時(shí) 顯示進(jìn)程的細(xì)節(jié)內(nèi)容。而3個(gè)進(jìn)程的實(shí)現(xiàn)是在Main中創(chuàng)建3個(gè)類,對(duì)應(yīng)3個(gè)進(jìn)程, 調(diào)用類的一些函數(shù)實(shí)現(xiàn)進(jìn)程并發(fā)。
6、.1.4實(shí)驗(yàn)過程給出實(shí)驗(yàn)過程的詳細(xì)描述,分步驟說明實(shí)驗(yàn)的具體操作過程 任務(wù)1。首先需要有復(fù)制源文件和復(fù)制目的文件,具體實(shí)現(xiàn)方式如圖1-1所示。圖1-1打開文件分別以只讀和只寫的方式將文件打開。創(chuàng)建緩沖區(qū),大小為10個(gè)字節(jié)的數(shù)組。如圖1 -2所示。圖1-2創(chuàng)建緩存區(qū)通過循環(huán)讀寫的方式實(shí)現(xiàn)文件的復(fù)制,如圖1 -3所示。圖1-3文件復(fù)制關(guān)閉文件。其中的writebuf和readbuf是自己編寫的一個(gè)讀和寫的函數(shù),調(diào)用的是read 和write函數(shù)。如圖1 -4所示。圖1-4讀寫函數(shù)任務(wù)2。首先根據(jù)3個(gè)不同的進(jìn)程創(chuàng)建3個(gè)不同的類。如圖1-5,圖1-6,圖1-7所示。 圖1-5進(jìn)程1圖1-6進(jìn)程2 圖1
7、-7進(jìn)程3分別為這3個(gè)類編寫其對(duì)應(yīng)的成員函數(shù),實(shí)現(xiàn)進(jìn)行的具體功能。具體實(shí)現(xiàn)如圖 1-8,圖 1-9,圖 1-10 所示。圖1-8進(jìn)程顯示時(shí)間圖1-9進(jìn)程循環(huán)顯示0-9圖1-10進(jìn)程顯示1-1000求和在一個(gè)入口函數(shù)中創(chuàng)建3個(gè)不同的子進(jìn)程,在進(jìn)程中分別創(chuàng)建對(duì)應(yīng)的類,使用 類的方法來實(shí)現(xiàn)進(jìn)程的功能。具體實(shí)現(xiàn)如圖1-11.圖1.11入口函數(shù)分別為這3個(gè)進(jìn)程設(shè)計(jì)器對(duì)應(yīng)的顯示菜單,其中部分變量可以通過設(shè)置參數(shù)的 方式進(jìn)行調(diào)控。并將進(jìn)程輸出結(jié)果與Forms中的UI綁定,在進(jìn)程結(jié)果顯示 在界 面中。.1.5實(shí)驗(yàn)結(jié)果任務(wù)1.任務(wù)1的內(nèi)容比較簡(jiǎn)單,主要使用C語言完成程序的編寫,其對(duì)應(yīng)的結(jié)果有兩種 情況,復(fù)制成功
8、或者復(fù)制失敗,從實(shí)驗(yàn)1的第一階段的代碼可以看出,失敗階段 主要是是因?yàn)閺?fù)制源文件打開失敗造成的。下面主要演示完成正確賦值的情況。 如圖1-12所示。圖1-12運(yùn)行結(jié)果圖將infile與outfile進(jìn)行對(duì)比如圖1-13,圖1-14所示。圖1-13復(fù)制原文件infile圖1-14任務(wù)1復(fù)制輸出文件進(jìn)過對(duì)比可以看出,程序運(yùn)行的結(jié)果正確。任務(wù)2.任務(wù)2需要并發(fā)執(zhí)行3個(gè)進(jìn)程,3個(gè)進(jìn)程分別顯示系統(tǒng)當(dāng)前的時(shí)間,1-1000的 求和以及循環(huán)顯示0-9,刷新時(shí)間為1秒(1000ms),程序的運(yùn)行結(jié)果如下圖 1-15所示。圖1-15任務(wù)2進(jìn)程運(yùn)行結(jié)果圖1.6實(shí)驗(yàn)小結(jié)本次實(shí)驗(yàn)分為2個(gè)任務(wù),第一個(gè)任務(wù)完成文件的賦值
9、拷貝。只要是運(yùn)用write 函數(shù)和read函數(shù)對(duì)文件進(jìn)行讀寫操作。操作簡(jiǎn)單沒有什么難度,通過寫readbuf 函數(shù)和writebuf函數(shù)使得讀寫函數(shù)使用起來更加的方便。運(yùn)行結(jié)果達(dá)到了預(yù)期 要求。第2個(gè)任務(wù)需要實(shí)現(xiàn)進(jìn)程的并行以及運(yùn)行結(jié)果的刷新顯示,編寫的語言是采用 c+語言,需要為3個(gè)進(jìn)程創(chuàng)建3個(gè)不同的類,在同一個(gè)函數(shù)入口中對(duì)3個(gè)并發(fā) 進(jìn)行進(jìn)行操作,并顯示其對(duì)應(yīng)的結(jié)果。其中遇到的問題主要集中在兩個(gè)方便。一 是怎樣將輸出結(jié)果與顯示窗口進(jìn)行綁定,綁定時(shí)需要注意什么以及如何調(diào)整。需 要去網(wǎng)上查閱資料對(duì)對(duì)應(yīng)的參數(shù)進(jìn)行調(diào)整,由于QT的環(huán)境搭建的很好,學(xué)起來 還是很輕松的。將菜單對(duì)應(yīng)的標(biāo)簽與輸出結(jié)果綁定即可
10、。第二個(gè)問題是怎樣實(shí)現(xiàn) 1秒鐘刷新一次輸出結(jié)果呢?查閱資料發(fā)現(xiàn)可以使用connect(timer, SIGNAL(timeout(), this, SLOT(MainWindowtm();每當(dāng) timer 發(fā)生變化時(shí)就 會(huì)調(diào)用SLOT中對(duì)應(yīng)的函數(shù),該函數(shù)就是對(duì)應(yīng)的進(jìn)程。每一秒調(diào)用一次從而實(shí)現(xiàn) 刷新。通過上述方法成功實(shí)現(xiàn)了進(jìn)程并行與輸出結(jié)果的刷新。.實(shí)驗(yàn)2:添加系統(tǒng)功能調(diào)用2.1實(shí)驗(yàn)概述通過添加系統(tǒng)功能調(diào)用,掌握添加系統(tǒng)功能調(diào)用的方法。2.2實(shí)驗(yàn)內(nèi)容采用編譯內(nèi)核的方法,添加一個(gè)新的系統(tǒng)調(diào)用,實(shí)現(xiàn)文件拷貝功能 編寫一個(gè)應(yīng)用程序,測(cè)試新加的系統(tǒng)調(diào)用。1階段1添加源代碼任務(wù)描述:添加的系統(tǒng)功能調(diào)用需要
11、實(shí)現(xiàn)一個(gè)文件拷貝的系統(tǒng)功能。實(shí)驗(yàn)設(shè)計(jì):本次實(shí)驗(yàn)需要添加的系統(tǒng)功能調(diào)用時(shí)文件的復(fù)制拷貝功能,由于實(shí) 驗(yàn)1的任務(wù)1已經(jīng)使用c語言實(shí)現(xiàn)了該功能則可以借用實(shí)驗(yàn)1任務(wù)1的思想,只 是需要將函數(shù)做一些修改,包括函數(shù)名格式,入口參數(shù),以及其中調(diào)用的其他函 數(shù)。實(shí)驗(yàn)過程:將調(diào)用函數(shù)名修改為以sys_開頭的函數(shù),命名為sys_mysyscall。 文件的打開函數(shù)以及輸出結(jié)果函數(shù)也需要使用內(nèi)核函數(shù),避免內(nèi)存檢查時(shí)出現(xiàn)錯(cuò) 誤。源代碼如圖2-1所示。圖2-1編寫系統(tǒng)調(diào)用源代碼實(shí)驗(yàn)結(jié)果:完成系統(tǒng)功能調(diào)用源代碼的設(shè)計(jì)。2.2.2階段2連接新的系統(tǒng)功能調(diào)用任務(wù)描述:該階段的任務(wù)主要是使得內(nèi)核的其余部分知道該系統(tǒng)功能調(diào)用的存
12、 在。在該階段需要編輯兩個(gè)文件,include/linux/syscalls.h以及 arch/x86/syscalls/syscall_32.tbl。實(shí)驗(yàn)設(shè)計(jì):該階段需要修改include/linux/syscalls.h的代碼添加新的系統(tǒng) 接著需要修改 number);sys_mysyscall(int long asmlinkage 調(diào)用的函數(shù)定義。. arch/x86/syscalls/syscall_32.tbl (系統(tǒng)調(diào)用表)在系統(tǒng)調(diào)用表中為新增的系 統(tǒng)調(diào)用分配調(diào)用號(hào)和系統(tǒng)調(diào)用名。實(shí)驗(yàn)過程:在系統(tǒng)調(diào)用定義中添加新的系統(tǒng)條用定義。操作如圖2-2所示。圖2-2添加系統(tǒng)調(diào)用定義接著需要在
13、系統(tǒng)調(diào)用表中為該系統(tǒng)調(diào)用分配一個(gè)系統(tǒng)調(diào)用名和一個(gè)系統(tǒng)調(diào)用號(hào)。 系統(tǒng)調(diào)用號(hào)為359,系統(tǒng)調(diào)用名為mysyscall如圖2-3所示。圖2-3分配系統(tǒng)調(diào)用號(hào)和調(diào)用名實(shí)驗(yàn)結(jié)果:完成第二階段添加系統(tǒng)定義以及為系統(tǒng)調(diào)用分配系統(tǒng)調(diào)用名和系統(tǒng) 調(diào)用號(hào)。2.2.3階段3重建內(nèi)核任務(wù)描述:在第三階段主要完成系統(tǒng)內(nèi)核的重建。實(shí)驗(yàn)設(shè)計(jì):,其完成的步驟為:1.生成內(nèi)核配置文件,2.編譯內(nèi)核映像,3.生 成并安裝模塊,4.安裝新的系統(tǒng)。其中如果報(bào)錯(cuò)說沒有對(duì)應(yīng)的軟件包則需要下載 軟件包。實(shí)驗(yàn)過程:a.首先根據(jù)自己的內(nèi)核版本下載對(duì)應(yīng)的內(nèi)核源碼,生成內(nèi)核配置文 件,接著編譯內(nèi)核映像,實(shí)現(xiàn)的操作為:make menuconfig
14、。運(yùn)行成功回出現(xiàn)一 個(gè)彈出框,可以直接退出,如圖2-4所示。圖2-4生成內(nèi)核配置文件1退出后顯示如下結(jié)果如圖2-5所示。圖2-5生成內(nèi)核配置文件2當(dāng)完成內(nèi)核文件的配置下面需要完成內(nèi)核配置映像。操作為指令為make bzImage。如圖2-6所示。圖2-6編譯內(nèi)核映像由于在撰寫實(shí)驗(yàn)報(bào)告時(shí)已經(jīng)完成了編譯,編譯結(jié)果如圖2-7所示。圖2-7編譯內(nèi)核映像結(jié)果接下來需要編譯內(nèi)核模塊。操作指令如圖2-8所示。圖2-8編譯內(nèi)核模塊所示。2-9編譯結(jié)果如圖圖2-9編譯內(nèi)核模塊結(jié)果生成并安裝模塊。操作指令為:make modules_install,如圖2-10所示。圖2-10生成并安裝內(nèi)核模塊d.安裝新的系統(tǒng)。
15、操作指令如圖2-11所示。圖2-12安裝新的系統(tǒng)安裝結(jié)果如圖2-12所示。圖2-13安裝新的系統(tǒng)2.2.4階段4修改grub文件將/etc/default目錄下的grub文件注釋掉GRUB_HIDDEN_TIMEOUT=0,然后運(yùn)行 update-grub命令。如圖2-14所示。圖 2-14 注釋掉 GRUB_HIDDEN_TIMEOUT=02.2.5重啟 選擇新的修改內(nèi)核選擇新的修改內(nèi)核如圖2-15所示。圖 2-15 選擇新的修改內(nèi)核2.2.6編寫程序測(cè)試編寫的檢測(cè)程序通過系統(tǒng)調(diào)用的返回值判斷是否賦值成功,如圖2-16所示。圖2-17測(cè)試程序?qū)嶒?yàn)結(jié)果測(cè)試結(jié)果如圖2-18,圖2-19所示。圖
16、2-18 系統(tǒng)調(diào)用測(cè)試圖 2-19 系統(tǒng)調(diào)用測(cè)試結(jié)果2.3實(shí)驗(yàn)小結(jié)對(duì)本次實(shí)驗(yàn)使用的理論、技術(shù)、方法和結(jié)果進(jìn)行總結(jié)。描述一下通過實(shí)驗(yàn)?zāi)阌心?些收獲。本次實(shí)驗(yàn)的工程量還是相當(dāng)大的,其中需要是實(shí)驗(yàn)步驟很繁多,并且必須一步一 步全部正確,不然后面的步驟無法完成。實(shí)驗(yàn)課程的PPT教學(xué)做的還是很完善的,只要根據(jù)要求來,每步做正確,還從最 開始的編寫系統(tǒng)調(diào)用源代碼實(shí)驗(yàn)完成了系統(tǒng)功能調(diào)用的添加。是很容易的。. 的編寫到最后的系統(tǒng)功能調(diào)用的測(cè)試還是遇到了很多的問題。其中的內(nèi)核版本的下載一定要和自己的版本很好的兼容,不然可能或多或少出現(xiàn) 一些不必要的麻煩。添加的系統(tǒng)功能調(diào)用的源代碼一定要使用內(nèi)核提供的函數(shù)進(jìn) 行編
17、寫,因?yàn)橛脩魬B(tài)的內(nèi)存訪問受到限制,可能會(huì)引起內(nèi)存檢測(cè)時(shí)出現(xiàn)錯(cuò)誤。 在編譯內(nèi)核模塊和安裝內(nèi)核模塊時(shí)需要很長(zhǎng)的時(shí)間,需要確保在這段時(shí)間里電腦 能正常的運(yùn)行。不然要浪費(fèi)掉很長(zhǎng)的時(shí)間做一些重復(fù)的事情。在修改/etc/default/grub文件時(shí)可能不能直接修改,需要進(jìn)行一些特殊的操作, 類似獲得權(quán)限。本次實(shí)驗(yàn)的收獲良多,了解并實(shí)踐了添加系統(tǒng)功能調(diào)用的整個(gè)過程,知道了系 統(tǒng)功能調(diào)用的編寫添加的機(jī)制,學(xué)會(huì)了怎樣去添加一個(gè)新的系統(tǒng)功能調(diào)用。.實(shí)驗(yàn)3:添加設(shè)備驅(qū)動(dòng)程序3.1實(shí)驗(yàn)概述通過添加設(shè)備驅(qū)動(dòng)程序掌握添加設(shè)備驅(qū)動(dòng)程序的方法。3.2實(shí)驗(yàn)內(nèi)容采用模塊方法,添加一個(gè)新的字符設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)打開/關(guān)閉、讀/寫
18、等基本 操作編寫一個(gè)應(yīng)用程序,測(cè)試添加的驅(qū)動(dòng)程序1階段1編寫設(shè)備驅(qū)動(dòng)程序任務(wù)描述:階段1的任務(wù)主要是編寫設(shè)備驅(qū)動(dòng)程序,模塊的初始化、設(shè)備的功 能、以及模塊卸載等。實(shí)驗(yàn)設(shè)計(jì):編寫設(shè)備驅(qū)動(dòng)程序涉及的內(nèi)容主要有:1.完成函數(shù)關(guān)系綁定,2.模塊的初始化、需要實(shí)現(xiàn)哪些功能、模塊的卸載以及釋放內(nèi)存。實(shí)驗(yàn)過程:完成函數(shù)入口綁定。此處實(shí)驗(yàn)只選擇實(shí)現(xiàn)了部分功能。如圖3-1所示。圖3-1入口點(diǎn)綁定實(shí)現(xiàn)模塊的初始化以及模塊的卸載如圖3-2所示。圖3-2模塊初始化和卸載實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序的相關(guān)功能。如圖3-3所示。圖3-4實(shí)現(xiàn)驅(qū)動(dòng)設(shè)備功能實(shí)驗(yàn)結(jié)果:完成設(shè)備驅(qū)動(dòng)程序的編寫。3.2.2階段2編譯設(shè)備驅(qū)動(dòng)模塊任務(wù)描述:該階段
19、主要完成設(shè)備驅(qū)動(dòng)模塊的編譯。文件完成編譯操作。Makefile實(shí)驗(yàn)設(shè)計(jì):通過修改通用的2.實(shí)驗(yàn)過程:修改課程提供的Makefile文件,在其中添加生成的模塊名mydev.o。如圖3-5所示。圖3-5修改Makefile文件這個(gè)運(yùn)行Makefile文件。操作指令:make.實(shí)驗(yàn)結(jié)果:完成設(shè)備驅(qū)動(dòng)模塊的編譯。如圖3-6所示。圖3-6設(shè)備驅(qū)動(dòng)模塊的編譯3.2.3階段3加載設(shè)備驅(qū)動(dòng)模塊任務(wù)描述:該階段主要完成設(shè)備驅(qū)動(dòng)模塊的加載。實(shí)驗(yàn)設(shè)計(jì):使用設(shè)備驅(qū)動(dòng)模塊的加載指令,完成加載。實(shí)驗(yàn)過程:設(shè)備驅(qū)動(dòng)模塊的加載指令為:insmod mydev.ko。如圖3-7所示。圖3-7加載設(shè)備驅(qū)動(dòng)模塊實(shí)驗(yàn)結(jié)果:設(shè)備驅(qū)動(dòng)模
20、塊加載成功。可以通過在文件/proc/devices中能看到 新增加的設(shè)備,包括設(shè)備名mydev和主設(shè)備號(hào)。如圖3-8,圖3-9所示。圖3-8模塊加載成功圖3-9模塊加載成功3.2.4階段4生成設(shè)備文件任務(wù)描述:該階段主要完成生成對(duì)應(yīng)的設(shè)備文件。實(shí)驗(yàn)設(shè)計(jì):使用生成設(shè)備文件指令使其生成對(duì)應(yīng)的設(shè)備文件名,設(shè)備文件名設(shè) 置為test.實(shí)驗(yàn)過程:使用設(shè)備文件指令為:insmod mydev.ko。如圖3-10所示。圖3-10生成設(shè)備文件實(shí)驗(yàn)結(jié)果:如果生成設(shè)備文件成功,可以看見在dev目錄下有一個(gè)mydev2文 件,如圖3-11所示。圖3-11參看設(shè)備文件3.2.4階段5編寫應(yīng)用程序測(cè)試1.任務(wù)描述:編寫應(yīng)用程序測(cè)試。實(shí)驗(yàn)設(shè)計(jì):編寫應(yīng)用程序測(cè)試,將其視為文件進(jìn)行操作。2.實(shí)驗(yàn)過程:編寫應(yīng)用程序,代碼如圖3-12所示圖 3-12 生成設(shè)備文件實(shí)驗(yàn)結(jié)果:測(cè)試結(jié)果正確,如圖3-13所示。圖 3-13 測(cè)試結(jié)果3.3實(shí)驗(yàn)小結(jié)本次實(shí)驗(yàn)主要完成添加設(shè)備驅(qū)動(dòng)程序,熟悉添加設(shè)備驅(qū)動(dòng)程序的過程,主要過程 有便攜設(shè)備驅(qū)動(dòng)程序、編譯、加載、生成設(shè)備文件、測(cè)試等過程。在這期間也遇 到很多問題,其中主要集中在編寫設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版四方協(xié)議合同3篇
- 旅游服務(wù)合同的合規(guī)管理
- 旅店租賃合同范本3篇
- 教育顧問試用期勞動(dòng)合同3篇
- 房屋買賣合同貸款版詳解3篇
- 新版意向金協(xié)議合同3篇
- 政府機(jī)關(guān)臨時(shí)聘用合同3篇
- 斷橋鋁門窗采購合同書3篇
- 房屋買賣合同終止協(xié)議格式3篇
- 教育機(jī)構(gòu)加盟合同模板3篇
- 2024年度瑜伽教練與瑜伽館勞動(dòng)合同3篇
- 2024年廣東省韶關(guān)市公開招聘警務(wù)輔助人員(輔警)筆試摸底備戰(zhàn)測(cè)試(3)卷含答案
- 2024年秋期國(guó)家開放大學(xué)《0-3歲嬰幼兒的保育與教育》大作業(yè)及答案
- 6.1認(rèn)識(shí)經(jīng)濟(jì)全球化 課件高中政治統(tǒng)編版選擇性必修一當(dāng)代國(guó)際政治與經(jīng)濟(jì)
- 高空熱氣球飛行安全協(xié)議
- 2024預(yù)防流感課件完整版
- 電梯維保管理體系手冊(cè)
- 合伙開公司股份分配協(xié)議書
- 2023年聊城市人民醫(yī)院招聘?jìng)浒钢乒ぷ魅藛T考試真題
- 儺戲面具制作課程設(shè)計(jì)
- 2024中國(guó)華電集團(tuán)限公司校招+社招高頻難、易錯(cuò)點(diǎn)練習(xí)500題附帶答案詳解
評(píng)論
0/150
提交評(píng)論