




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、注南師范曇院針?shù)邫C(jī)鳥(niǎo)信息工程系實(shí)習(xí)(實(shí)訓(xùn))材料實(shí)習(xí)項(xiàng)目專(zhuān)業(yè)見(jiàn)習(xí)實(shí)習(xí)時(shí)間 2014.7.52014.7.18專(zhuān) 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)號(hào)班 級(jí)12級(jí)班姓名實(shí)習(xí)單位實(shí)習(xí)具體時(shí)間南京華清遠(yuǎn)見(jiàn)科技有限公司2014. 7. 52014. 7. 18實(shí)習(xí)內(nèi)容7月5日7月6 h動(dòng)員準(zhǔn)備。7月7日7月16日 項(xiàng)目實(shí)訓(xùn)。以”游船租用管理系統(tǒng)”項(xiàng)目為實(shí)例,對(duì)嵌 入式linux和arm平臺(tái)上的開(kāi)發(fā)進(jìn)行介紹和實(shí)訓(xùn)7月17日7月18日實(shí)習(xí)小結(jié)。實(shí)習(xí)要求1、態(tài)度端正,目的明確,虛心聽(tīng)取校內(nèi)外指導(dǎo)教師的指導(dǎo)和意見(jiàn),按照實(shí)習(xí)計(jì) 劃完成實(shí)習(xí)任務(wù)。2、遵守學(xué)校和實(shí)習(xí)單位的各項(xiàng)規(guī)章制度,服從指導(dǎo)教師的安排。3、認(rèn)真填寫(xiě)相關(guān)實(shí)習(xí)材料和
2、總結(jié)指導(dǎo)教師評(píng)語(yǔ)及實(shí)習(xí)成績(jī)成績(jī) 評(píng)定指導(dǎo)教師簽字:年 月日系主任簽字(蓋章):年 月日公園ic卡劃艇收費(fèi)系統(tǒng)報(bào)告一、實(shí)習(xí)目的通過(guò)實(shí)訓(xùn),可以讓學(xué)生對(duì)嵌入式項(xiàng)目有一定認(rèn)識(shí),了解整個(gè)嵌入式項(xiàng)目的過(guò) 程,便于以后在企業(yè)屮參與項(xiàng)口吋有一定經(jīng)驗(yàn)。通過(guò)實(shí)訓(xùn)學(xué)生可以把以前學(xué)過(guò)的 基礎(chǔ)知識(shí),如c語(yǔ)言,linux操作系統(tǒng),arm等,進(jìn)行融會(huì)貫通,讓學(xué)生了解到 他們以前所學(xué)的知識(shí)在嵌入式開(kāi)發(fā)方而是冇用的,也讓學(xué)生對(duì)自己離一個(gè)真正的 歐入式工程師還有多少弟距有一個(gè)深刻的認(rèn)識(shí)。通過(guò)這次實(shí)訓(xùn),學(xué)生還可以掌握 相關(guān)的嵌入式開(kāi)發(fā)技巧,對(duì)嵌入式ijnux和arm平臺(tái)上的開(kāi)發(fā)積累一定經(jīng)驗(yàn),為 以后企業(yè)項(xiàng)口打下一個(gè)比較好的基礎(chǔ)。二
3、、實(shí)習(xí)過(guò)程及內(nèi)容(包括實(shí)習(xí)過(guò)程、主要收獲、存在問(wèn)題、解決 措施不少于2000字)(-)實(shí)習(xí)內(nèi)容1、嵌入式系統(tǒng)和linux的基本操作linux操作系統(tǒng)卜,任何東西都被歸結(jié)為一個(gè)文件,分為:(1) 普通文件(2) 二進(jìn)制文件。(3) 數(shù)據(jù)格式文件(data)文件操作命令:(1) cd經(jīng)常使用的“cd”命令代表了改變目錄。它在終端中改變工作目錄來(lái)執(zhí)行, 復(fù)制,移動(dòng),讀,寫(xiě)等等操作cd /home 進(jìn)入/ home' 目錄cd . 返回上一級(jí)目錄cd .返回上兩級(jí)目錄cd進(jìn)入個(gè)人的主目錄cd "userl進(jìn)入個(gè)人的主口錄cd - 返冋上次所在的目錄注:cd會(huì)改變工作目錄為用戶(hù)的家目錄
4、,而且當(dāng)用戶(hù)發(fā)現(xiàn)自己在終端中 迷失了路徑時(shí),“cd從當(dāng)前工作目錄切換到(當(dāng)前工作目錄的)父目錄。(2) mkdir(make directory)命令在命名路徑下創(chuàng)建新的目錄。然而如果目錄己經(jīng) 存在了,那么它就會(huì)返回一個(gè)錯(cuò)誤信息不能創(chuàng)建文件夾,文件夾已經(jīng)存在了 (z,carrnot create folder, folder already exists")。如想可以在沒(méi)右上級(jí)子目錄的情況下完成,既創(chuàng)立一個(gè)目錄樹(shù)需在mkdir 后使用參數(shù):-p例如:$mkdir dayl day2 day3 一p(3) rmdir刪除了目錄命令rm -rf刪除文件,不做任何提示,直接刪除(4) 移動(dòng)
5、文件格式: mv -option <source> destination path filename功能:將指定文件進(jìn)行移動(dòng)說(shuō)明:-option-f 強(qiáng)制覆蓋-i 覆蓋前詢(xún)問(wèn)-b覆蓋前備份仮9: rootlocalhost root # mv -i myfile.c /progl/(5) sudo password 修改密碼su變更用戶(hù)身份。語(yǔ)法:su -fimp -help -version - c指令>-s <shell>用戶(hù) 帳號(hào)補(bǔ)充說(shuō)明:su可讓用戶(hù)暫時(shí)變更登入的身份。變更時(shí)須輸入所要變更的用戶(hù) 帳號(hào)與密碼。(6) 復(fù)制命令格式: cp -option
6、<source> destination path filename功能:將指定源文件復(fù)制到目標(biāo)文件中說(shuō)明:-option-a保留鏈接、文件屬性(7)halt關(guān)機(jī)命令reboot重啟命令sudo shutdown-h now立即關(guān)機(jī)sudo shutdown-h+45 "that is all,game over ,886!”sudo reboot now 立即重啟sudo shutdown - r nowsudo shutdown - r +60六十分鐘后重啟2、gcc (gnu comp訂er collection, gnu編譯器集合),是一套由gnu開(kāi)發(fā)的 編程語(yǔ)言
7、編譯器。(1)預(yù)處理gcc - e gcctest. c -o gcctest. i(2)編譯/生成匯編代碼,檢查語(yǔ)法規(guī)范性gcc -s gcctest i 一0 gcctest s(3)匯編/生成機(jī)器代碼gcc gcctest. o -o gcctest.(4)運(yùn)行g(shù)cc gcctest c -lm./gcctest編輯完成后按esc鍵,再按shift +分號(hào)進(jìn)行保存3、變量變量能由字母、下劃線(xiàn)、數(shù)字且只能以字母或下劃線(xiàn)開(kāi)頭,變量不能是特殊 字符。在程序運(yùn)行時(shí),變量占據(jù)一定大小的存儲(chǔ)空間。(1)c的四種存儲(chǔ)類(lèi)型auto:用auto存儲(chǔ)類(lèi)型說(shuō)明的變量都是局部與某個(gè)程序范圍內(nèi)的(可以省 略aut
8、o關(guān)鍵字)。register:稱(chēng)為寄存器型,作用:將變量放入cpu的寄存器存儲(chǔ)空間屮,加快程序的運(yùn)彳亍速度。例如:register int countextern:外部參照引用型,作用:引用在其他文件中函數(shù)體外部說(shuō)明的變量。 一般用在函數(shù)間的傳遞。static:靜態(tài)存儲(chǔ)類(lèi)型,可在函數(shù)體內(nèi),也可在函數(shù)體外說(shuō)明,與auto的 不同:static存儲(chǔ)類(lèi)型的變量在內(nèi)存中是以固定地址存放的,不是以堆棧方式 存放的。(2) 關(guān)系運(yùn)算符運(yùn)算符: ><二二二二!二(3) 邏輯運(yùn)算符!邏輯非 ! (x=0)&邏輯與 x>0&&x<0| 邏輯或 y10|x10(4)
9、 位運(yùn)算符位邏輯反&位邏輯與i位邏輯或八位邏輯異或»右位移 左位移4、指針(1) 在計(jì)算機(jī)內(nèi)部存儲(chǔ)器(簡(jiǎn)稱(chēng)內(nèi)存)中,每一個(gè)字節(jié)單元,都有一個(gè)編號(hào), 稱(chēng)為地址。(2) 在c語(yǔ)言中,內(nèi)存單元的地址稱(chēng)為指針,專(zhuān)門(mén)用來(lái)存放地址的變量,稱(chēng)為 指針變量(pointer variable) o(3) 指針與指針變量指針:一個(gè)變量的地址指針變量:專(zhuān)門(mén)存放變量地址的變量叫指針變量。(4) &與*運(yùn)算符&含義:取變量的地址;*含義:取指針?biāo)赶蜃兞康膬?nèi)容。(5) 指針變量指針變量與其所指向的變量之間的關(guān)系。指針變量的定義:一般形式:存儲(chǔ)類(lèi)型數(shù)據(jù)類(lèi)型 *指針名;注:空指針并不是指針
10、存儲(chǔ)器為空或沒(méi)有的概念,而是指針存放著特定的 值一零值。指針在說(shuō)明的同時(shí),也可以被賦予初值,稱(chēng)為指針的初始化。一般形式是:存儲(chǔ)類(lèi)型數(shù)據(jù)類(lèi)型*指針變量名二地址量;注:指針說(shuō)明吋指定的數(shù)據(jù)類(lèi)型不是指針變量木身的數(shù)據(jù)類(lèi)型,而是指針 目標(biāo)的數(shù)據(jù)類(lèi)型。簡(jiǎn)稱(chēng)為指針的數(shù)據(jù)類(lèi)型。(6) 指針關(guān)系運(yùn)算兩指針z間的關(guān)系運(yùn)算表示它們指向的地址位置z間的關(guān)系。指向地址大的 指針大于指向地址小的指針。5、const型指針和void型指針(1) const 型const類(lèi)型修飾符可以將指針變量常量化。一般形式:const數(shù)據(jù)類(lèi)型*指針變量名稱(chēng)二指針運(yùn)算表達(dá)式; 常量化指針口標(biāo)是限制通過(guò)指針改變其口標(biāo)的數(shù)值。(2) voi
11、d 型void型的指針變量是一種不確定數(shù)據(jù)類(lèi)型的指針變量,它可以通過(guò)強(qiáng)制類(lèi) 型轉(zhuǎn)換讓該變量指向任何數(shù)據(jù)類(lèi)型的變量或數(shù)組。一般形式為:void *指針變量名稱(chēng);6、指針關(guān)系運(yùn)算兩指針z間的關(guān)系運(yùn)算表示它們指向的地址位置z間的關(guān)系。指向地址大的 指針大于指向地址小的指針。(二)數(shù)據(jù)庫(kù)1、sqlite 基礎(chǔ)(1)退出 sqlitc3sqlite>. quit(2)顯示當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)文件sqlite>. database(3)顯示數(shù)據(jù)庫(kù)屮所冇表名sqlitc>. tables(4)查看表的結(jié)構(gòu)sqlite>. schema <table_name> 尖角號(hào)不需要輸
12、入(5)安裝命令sudo apt-getupdate 更新源代碼sudo apt-getinstallsqlitcsudo apt-getinstal1vim(三)nfs1、nfs安裝$ sudo apt-getinstallnfs-kernel-server nfs-common portmap2、nfs配置配置/etc/exports文件$ sudo vim /etc/exports 在文件最后加入如下內(nèi)容:/rootnfs *(rw, sync, no_root_squash)/home/xiaoming/nfsboot *(注:nfs允許掛載的口錄及權(quán)限在文件/etc/exports屮
13、進(jìn)行了定義。 /rootnfs是要共享的目錄。3、重啟服務(wù)$ sudo /etc/init. d/portmap restartsudo /etc/init. d/nfskernel-server stop$ sudo /etc/init.d/nfs-kernel-server restart 4、測(cè)試(1) 顯示出共享出來(lái)的目錄$ showmount e(2) 將nfs的rootnfs 口錄掛載到木地磁盤(pán)上。$ sudo mount -t nfs localhost:/rootnfs /mnt(3) 查看掛載情況$ df(4) 卸載掛載$ sudo umount /mnt(5) 測(cè)試服務(wù)器查
14、看服務(wù)目錄和權(quán)限:sshowmount -e我得到的結(jié)果是:export list for myzonc:/nfsboot (everyone)5、卸載nfs文件系統(tǒng)#sudo umount 218.192.*.*:/nfsboot /mnt(四) make1、make會(huì)在當(dāng)前目錄下找名字叫“makefile"或“makef訂e”的文件。2、如果找到,它會(huì)找文件中的第一個(gè)廿標(biāo)文件(target),在上面的例子中,他 會(huì)找到“edit”這個(gè)文件,并把這個(gè)文件作為最終的口標(biāo)文件。3、如果edit文件不存在,或是edit所依賴(lài)的后面的.0文件的文件修改時(shí)間 要比edit這個(gè)文件新,那么,他
15、就會(huì)執(zhí)行后而所定義的命令來(lái)生成edit這個(gè)文 件。4、如果edit所依賴(lài)的.o文件也不存在,那么make會(huì)在當(dāng)前文件中找目標(biāo)為.o 文件的依賴(lài)性,如果找到則再根據(jù)那一個(gè)規(guī)則生成o文件。(這有點(diǎn)像一個(gè)堆棧 的過(guò)程)5、如果c文件和h文件是存在,于是make會(huì)生成.o文件,然后再用.o也就 是執(zhí)行文件edit注:口j以使用別的文件名來(lái)書(shū)寫(xiě)makefile,如果要指定特定的makefile,可以使用 make 的"-f”,如:make -f make. linux(五) nfs服務(wù)配置第一步先配置/ctc/cxports文件路徑sudo vim /etc/exports/共享的目錄讀寫(xiě)權(quán)限
16、第二步重啟服務(wù)sudo /etc/init. d/portmap restartsudo /etc/initd/nfs-kernel-server stopsudo /etc/init.d/nfs-kcrncl-server restart sudo service nfs-目標(biāo) ip 網(wǎng)址 restart 第三步.測(cè)試1、顯示出共享出來(lái)的目錄showmount -e2將nfs的rootnfs目錄掛載到本地磁盤(pán)上。sudo mount -t nfs 1ocalhost:/rootnfs /mnt3、查看掛載情況:df4、卸載掛載:sudo umount /mnt測(cè)試客戶(hù)端:先在/nfsboot
17、里新建文件,主要是作測(cè)使用touch /nfsboot/testfi 1 esudo mount 口標(biāo) ip 地址:/nfsboot /mnt再查看一下:is /mnttestfile卸載nfs文件系統(tǒng):sudo umount 目標(biāo) ip 地址/nfsboot /mnt(六)解壓文件步驟:1、將文件移動(dòng)到自己的show中2、將文件解壓tar xvf arm-none-!inux-gnueabi. tar. bz23、將解壓后的文件移動(dòng)到toolchain文件夾中mv arm-2010.09 toolchain4、sudo vi/etc/bash.bashbashrc5、進(jìn)入vi編輯器添加環(huán)境變
18、量export path=$path:/home/linux/toolchain/bin6、重啟配置文件source /etc/bash bashrc7、測(cè)試arm-none-1i nux-gnueabi-gcc - v(七) 、燒寫(xiě)1、在 putty 上設(shè)置: 將 bootcmd 和 bootargs 改為 setenv bootcmd nand read 200080000 1000000 3000000; go 200008000sctcnv bootargs root 二/dev/mtdblock3 rootffstype=jffs2 rw init-/ inuxrc console=
19、tty saco,115200saveenv-文件系統(tǒng)加載成功后制定的第一個(gè)啟動(dòng)程序是、1 inuxrc燒寫(xiě)內(nèi)核:tftp將 linux-2. 6. 35. tar. bz2 拷貝到/home/linux 卜'并解壓$ tar xvf 1 inux-2. 6. 35. tar. bz2$ cd linux2. 6. 35修改內(nèi)核頂層目錄下的makefile$ vim makefile修改:arch ?二 $ (subarch)cross_compile ?二cross_compile ?= $ (config_cross_compile:"%'=%)為:arch ?=
20、 armcross_comptle ?二 arm-none-1inux-gnueabi-o 0 xiaomingubuntu: /mnt/hgfs/share/linux-2.6.35文件(f)編輯(e)查看(v)終端(t)幫助(h)178179180181182183184185186187188189190191192193194195196197198199i the default arch is the host where make is executed.i cross.compile specify the prefix used for all executables use
21、d i during compilation. only gcc and related bin-utils executables f are prefixed with $(cross.compile).f cross.compile can be set on thei make cross_compile=ia64-linux-i alternatively cross.compile cani a third alternative is to storei *make" in the configured kernel t default value for cross.
22、compile i note: some architectures assigncommand linebe set in the environment.a setting in .config so that plain build directory always uses that, is not to prefix executables cross compile in their arch/*/makefileexport kbuild.buildhost := $(subarch) arch?= armcross compile ?=onelinuxanueabi* arch
23、itecture as present in compile.h uts.machine := $(arch)srcarch := $(arch)i additional arch settings for x86 ifeq ($(arch),i386)kefile *192,41-43f"插入"" 0 xiaomingubuntu:- 它xiaomingubuntu: /m2、拷貝標(biāo)準(zhǔn)板配置文件$ cp arch/arm/confi gs/s5pc100_defconfig.config 3、配置內(nèi)核$ make menuconfig該命令執(zhí)行時(shí)會(huì)彈出一個(gè)菜單,
24、我們可以對(duì)內(nèi)核進(jìn)行詳細(xì)的配置。這里我們先查 看一下,內(nèi)核都提供了那些功能!4、編譯內(nèi)核$ make zimage通過(guò)上述操作我們能夠在arch/arm/boot目錄下生成一個(gè)zimage文件,這就是 經(jīng)過(guò)壓縮的內(nèi)核鏡像。(八)音樂(lè)播放器制作過(guò)程linux環(huán)境下1、將文件拷貝到mnt/hgfs/share中 2、進(jìn)入mnt/hgfs/share 中:cd mnt/hgfs/share3、見(jiàn)文件復(fù)制到home下:cp rootfs.jffs2 zimage / -r4、cp rootfs. jffs2 zimage ./iftpboot5、將文件掛載到nfs上(1) sudo service nf
25、s-kernel-server restar(2) showmount -e(四個(gè)ok)(3) sudo service tftpd-hpei stop(4) sudo service tftpd-hpa startputty環(huán)境下燒寫(xiě):在putty上設(shè)置:將bootcmd和bootargs改為:1、sctcnv ipaddr 192. 168.3.892、setenv serverip 192.16& 2.893、saveenv4、ping 192. 168. 2. 895、sctc nv boot args root 二 /dcv/m tdblock3 rootfsty pe=jf
26、fs2 rw init=/linuxrcconsolc=ttysaco, 1152006、saveenv7、tftp 20008000 zimage (回車(chē))8 nand erase 100000 3000009、nand write 20008000 100000 30000010、tftp 20008000 zimage (回車(chē))11、nand erase 100000 30000012、nand write 20008000 100000 30000013、重新啟動(dòng)板了注:1文件系統(tǒng)加載成功后指定的第一個(gè)啟動(dòng)程序是/linuxrc在ubentu上啟動(dòng)tftp服務(wù),并使開(kāi)發(fā)板ping通ub
27、entu在putty上:2. 首先確保在tftpboot里冇zimage和rootfs. jffs23. 燒寫(xiě)文件系統(tǒng),文件系統(tǒng)類(lèi)型是jffs2,文件名為rootfs. jffs2再次啟動(dòng)開(kāi)發(fā)板:./madplay xxx. mp3(九) 將u盤(pán)插入板子并播放u盤(pán)中的歌曲1、操作(1) putty 打開(kāi)/ is/輸入fdisk -1/dev/sda(2) cd mnt/disk(3) mount - t vfat/dev/sda /mnt/disk(4) cd mnt/disk(5) ./maidplay/mnt/disk/xxxx2、查看u盤(pán)fdisk - 1 /dev/sdamount -
28、 t vfat /dev/sdbl /mnt/disk3、關(guān)于文件的讀寫(xiě)問(wèn)題:r或r+文件只讀,前提是文件必須存在r+或r+b文件可讀寫(xiě),前提是文件存在w或wb打開(kāi)文件,只可讀寫(xiě)文件,若文件存在,則長(zhǎng)度為0 ,所以?xún)觿h除文檔的口j能,若文件不存在,則創(chuàng)建文件(十)掛載文件1、將 rowboot 中 bin 卜的 rowboat 復(fù)制到 nfsboot 中掛載:在putty上設(shè)置:將bootcmd和bootargs改為:setenv bootcmd tftp 20008000 zimage ; go 20008000sctcnv bootargsroot=nfs nfsroot二192. 168
29、. x. x:/home/xi aomi ng/nfsboot/rootfs ip二192. 168. y. y init=/linuxrc console=ttysac0, 115200sctcnv ipaddr 192. 16& y. y (你的開(kāi)發(fā)板ip)setenv serverip 192. 168 x. x (虛擬機(jī)ip)savccnv在ubunto上設(shè)置:檢查ip: ifeonfig修改ip: sudo ifeonfig ctho 192. 168.0.1啟動(dòng)tftp月艮務(wù):sudo /etc/ini t. d/tftpd-hpa restart 或 sudo servi
30、ce tftpd-hpa restart(定要先設(shè)置ip,否則tftp無(wú)法啟動(dòng))啟動(dòng)nfs月艮務(wù):sudo /etc/init. d/nfskernel-server restart 確保在你的tftpboot 口錄里有zlmage,在nfsboot 口錄里有rootfs 口錄 ping通后,p輸入 tftp 20008000 zlmage (回車(chē))go 20008000 (回車(chē))>»»» 8 <«««««««輪書(shū)員錄:2 .uihikt o irxinusve r:i root*f
31、ar/ii /rowboatpl«a«« pixtr arxivate tm>irooclraraignt /l “3切 9«c mc 1moos/1 mr- ncosed root (bf* “etes) on «cvik osxxi iblt aaaotyi m運(yùn)行結(jié)果:53003 5 11.-o o o oi-.75! he emcomi puttv4o d"akio 4«vie«*o device<0 “"kfoxforfordaxdmdai3mxbs10 rinum2mm89&quo
32、t;mn«»o adc/wkc primryksoc! xc7 h>?1 <-> 33e-«c5? natcina eteklta devle«101 soktcf eubie k«i0t«r*4net: rcaiftcrea protocol faaxxy xv3r93c4xx-rxe! bexory»?d4tc/timu*b 1-1: new full >vrd 033 device ta3e4)0obe and addres 9hub 1-1:10* 088 hub poundhub l-lil
33、0 4 post* detci<du0: xak sp iqqkbp full-duplex oxgdclxr-conna: ygo d«um>icxp confiat cearletc:deee-ethow hoeclw、g8",reaomin«(r»o<ie)tboo0eswc»2».25>.25s.2$>t xoo1msvys«1h.14b.j.i*. koo(p«u>-3acg port ot rfc 10003/j oa x>2loounq up porx or
34、rfc 100005/1 co in.im.2.99vff! koontwd (nt* cilevyttw oa device olli.mra:)fx«««« kates to actives* uu« eomole. (<« “ /j9 1aximit# tree (rocc|f«r、c /|t /revtoatrrrrwi uxm'tt押色人"人 a300mmo10000-»»»»»»» go ««
35、1;<««««tfttmf.1.«««!». 2 «o (十一)存在問(wèn)題與解決措施遇到的問(wèn)題:1、在當(dāng)前目錄下不能創(chuàng)建文件和文件夾問(wèn)題分析:對(duì)linux系統(tǒng)的廿錄結(jié)構(gòu)不夠了解,不能在非主廿錄下使用普通用 戶(hù)權(quán)限去完成指令。解決辦法:用su命令切換到root權(quán)限,然后完成操作,完成后記得輸入su xiaoming切換會(huì)普通用戶(hù)xiaoming的權(quán)限。2、vi編輯器使用時(shí),不能退出的問(wèn)題,提示未保存分析:編寫(xiě)的代碼或文本未保存在確定的文件中,就會(huì)提示文件未保存。解決辦法:可在底行模式下輸入w命令保存,或
36、輸入q!強(qiáng)制退出vim,但編寫(xiě) 內(nèi)容將不會(huì)保存。具休操作在vi編輯器插入狀態(tài)下(可按i鍵由可視狀態(tài)進(jìn)人 狀態(tài))按esc鍵光標(biāo)跳到頁(yè)尾,再按shift+;,再輸入wq或q退出vi編輯器界 面。3、gee交叉編譯器安裝完成后,linux基礎(chǔ)指令不能使用分析:修改配置文件吋,環(huán)境變量修改出錯(cuò),shell找不到對(duì)應(yīng)的變量不能正確 解析。解決辦法:切換到root用戶(hù),直接找到vi的可執(zhí)行文件運(yùn)行后打開(kāi)改錯(cuò)的配 置文件,保存后重啟系統(tǒng)后會(huì)口動(dòng)將口動(dòng)加載止確的變量。4、三角形程序使用gcc編譯提示沒(méi)有sqrt ,但已經(jīng)包含了 math, h頭文件; 分析:math, h頭文件并不在標(biāo)準(zhǔn)庫(kù)屮,gec默認(rèn)的在標(biāo)
37、準(zhǔn)庫(kù)屮尋找sqrto所以編譯時(shí)應(yīng)指明鏈接math, h頭文件解決方案: gcc fi1 ename, c - o outname -im代碼如下:include <stdio.h> include <math. h>int m3in(void) float a, b, c, s, area;scanf (f, %f, %f,&a, &b, &c);s=l. 0/2*(a+b+c);area=sqrt(s*(sa)* (sb)* (sc);printf(z,a=%7. 2f, b =%7. 2f, c=%7. 2f, s=%7. 2fn,a, b, c, s);printf (,area=%7. 2fn,area) ; return 0;i5、sqlite
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自然課題申報(bào)書(shū)撰寫(xiě)模板
- 語(yǔ)文道法融合課題申報(bào)書(shū)
- 教研課題申報(bào)書(shū)范本模板
- app租車(chē)合同范本
- 課題申報(bào)書(shū)文檔格式要求
- 出口oem訂單合同范本
- 公司授權(quán)租賃合同范本
- 中小學(xué)課題申報(bào) 評(píng)審書(shū)
- 光伏安裝工合同范本
- 舞臺(tái)美術(shù)課題申報(bào)書(shū)
- 《中國(guó)潰瘍性結(jié)腸炎診治指南(2023年)》解讀
- 教科版小學(xué)科學(xué)六年級(jí)下冊(cè)單元練習(xí)試題及答案(全冊(cè))
- 中國(guó)故事英文版哪吒英文二篇
- 電子技術(shù)基礎(chǔ)與技能-(3)
- 部編版四年級(jí)下冊(cè)語(yǔ)文第二單元課文教材分析及全部教案
- 電動(dòng)車(chē)銷(xiāo)售合同
- 美術(shù)開(kāi)學(xué)第一課(課堂PPT)
- 出生證明委托書(shū)(共2頁(yè))
- 刑釋解教人員安置幫教工作檔案
- 內(nèi)部審計(jì)發(fā)展史
- 壓裂施工常見(jiàn)問(wèn)題分析
評(píng)論
0/150
提交評(píng)論