資源描述:
《linux高級(jí)編程實(shí)驗(yàn)實(shí)驗(yàn)1報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、電子科技大學(xué)實(shí)驗(yàn)報(bào)告學(xué)生姓名:學(xué)號(hào):2指導(dǎo)教師:李林實(shí)驗(yàn)地點(diǎn):清水河主樓A2-412實(shí)驗(yàn)時(shí)間:2016.11.09一、實(shí)驗(yàn)室名稱:Linux環(huán)境高級(jí)編程實(shí)驗(yàn)室二、實(shí)驗(yàn)項(xiàng)目名稱:Linux編程環(huán)境搭建與使用三、實(shí)驗(yàn)學(xué)時(shí):4學(xué)時(shí)四、實(shí)驗(yàn)?zāi)康模号囵B(yǎng)對(duì)Linux操作系統(tǒng)的駕馭能力、熟悉它的各種工具、熟悉常用指令。五、實(shí)驗(yàn)內(nèi)容:1、VMWare配置,通過(guò)VMWare的虛擬鏈接使Linux操作系統(tǒng)連上網(wǎng)絡(luò)。2、APT使用,通過(guò)使用指令查找是否安裝了g++,下載并安裝OpenSSH、lrzsz、build-essential這幾款軟件。3、v
2、i高級(jí)使用,創(chuàng)建或編輯.vimrc配置文件,下載安裝taglist、omnicppcomplete、a、winmanager、minibufExplorer、等插件。4、make的使用,自己編寫(xiě)一個(gè)程序,并編輯或創(chuàng)建makefile文件,使用make指令對(duì)其進(jìn)行操作。5、gdb使用6、googletest使用、7、valgrind使用。六、實(shí)驗(yàn)步驟:1.VMWare網(wǎng)絡(luò)配置首先,查看VMnet8的IP以及掩碼,我實(shí)在windows下使用CMD的ipconfig指令查看的,如圖1.1所示。圖1.1VMnet8的地址按照?qǐng)D1.1所提
3、供的參數(shù)來(lái)修改/etc/network/interfaces文件,如圖1.2,修改后如圖1.3所示。圖1.2輸入修改指令圖1.3修改interfaces文件修改完成后查看網(wǎng)絡(luò)配置是否正確,如圖1.4所示,顯示網(wǎng)絡(luò)配置是正確的。圖1.4檢查網(wǎng)絡(luò)配置修改主機(jī)名,修改/etc/hostname文件里的ubuntu為YanYuMin。修改之后如下圖1.5所示。圖1.5修改主機(jī)名2.APT的使用查找是否安裝g++,如下圖所示。顯示了已經(jīng)安裝。圖2.1檢查g++圖2.2安裝lrzsz圖2.3lrzsz安裝完成同理,對(duì)OpenSSH、buil
4、d-essential進(jìn)行了安裝。圖2.4build-essential安裝完成圖2.5openssh安裝完成3.Vi的高級(jí)使用首先,在/etc/下查找.vimrc文件,沒(méi)有;然后在/home/yanyumin/下查找,也沒(méi)有。于是自己用Vi指令創(chuàng)建了一個(gè),存放于/home/yanyumin/目錄下。保存之后,進(jìn)入vi界面如圖3.3所示。圖3.1創(chuàng)建.vimrc配置文件寫(xiě)入如下指令,第一條是開(kāi)啟關(guān)鍵字高亮顯示;第二條是開(kāi)啟行數(shù)顯示;第三條是設(shè)置tab鍵的長(zhǎng)度為4。圖3.2編輯.vimrc配置文件圖3.3.vimrc配置文件創(chuàng)建完
5、成圖3.4vi顯示效果接下來(lái)對(duì)vi進(jìn)行插件下載與安裝,exuberant-ctags和cscope使用apt-get進(jìn)行安裝,其中taglist、omnicppcomplete、a、winmanager、minibufExplorer、grep這幾個(gè)插件下載,解壓到~/.vim中。下載完成后打開(kāi)wim,在我的用戶目錄下創(chuàng)建了幾個(gè)文檔,采用了多窗口顯示,如下圖:圖3.5多窗口顯示效果4.Make的使用通過(guò)對(duì)vi以及make指令的熟悉,我寫(xiě)了一個(gè)簡(jiǎn)單的進(jìn)制轉(zhuǎn)換的程序。其功能是:鍵盤(pán)輸入十進(jìn)制數(shù),打印出二進(jìn)制、八進(jìn)制以及十六進(jìn)制的數(shù)。
6、我所編寫(xiě)的文件清單如圖4.1所示,其中trail文件夾存放的是我練手的程序,與該程序無(wú)關(guān)。yanyumin.c是主程序,兩個(gè)transform*.c文件寫(xiě)入了切換進(jìn)制并打印的子函數(shù)。圖4.1文件清單程序源代碼如圖4.2所示圖4.1源代碼頭文件代碼如圖4.3所示,圖4.3頭文件makefile文件代碼如圖4.4所示,圖4.4makefile文件代碼其文件依賴關(guān)系如下圖4.5:yanyumin-exetransform2.otransform8and16.otransform2.ctransform8and16.cyanyumin.
7、oyanyumin.c不好意思,多了個(gè)分支,不過(guò)只需要把第二和第三只分支合并即可。這個(gè)相較于完全二叉樹(shù)原理相同,makefile格式相似。故不再贅述,掌握知識(shí)點(diǎn)即可。用make指令編譯并運(yùn)行的結(jié)果如圖4.6所示。圖4.6編譯運(yùn)行5.Gdb的使用首先檢查是否安裝了Gdb,如下圖顯示,Gdb已經(jīng)安裝完成。圖5.1Gdb安裝完成接下來(lái)通過(guò)修改了一個(gè)多進(jìn)程的程序,其源代碼如圖5.2。圖5.2程序源代碼經(jīng)過(guò)G++編譯之后,再運(yùn)行g(shù)db調(diào)試,如下圖:圖5.3設(shè)置斷點(diǎn)并調(diào)試7.Valgrind使用Valgrind是一款用于內(nèi)存調(diào)試、內(nèi)存泄漏檢
8、測(cè)及性能分析的軟件開(kāi)發(fā)工具。Valgrind這個(gè)名字取自北歐神話中英靈殿的入口。我的程序源代碼如圖7.1:圖7.1一個(gè)沒(méi)有釋放內(nèi)存的程序圖7.2檢查內(nèi)存泄漏從結(jié)果得知,這個(gè)程序并沒(méi)有釋放內(nèi)存。七、總結(jié)及心得體會(huì):在本次實(shí)驗(yàn)里,我練習(xí)了對(duì)VMWare配置,進(jìn)而通過(guò)