




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
淮海工學(xué)院計(jì)算機(jī)工程學(xué)院實(shí)驗(yàn)報(bào)告書課程名:《Linux程序設(shè)計(jì)》題目:實(shí)驗(yàn)一LinuxC編程工具:GCC和GDB班級(jí):軟件131學(xué)號(hào):2013122870姓名:王裕評(píng)語:評(píng)語:成績:指導(dǎo)教師:批閱時(shí)間:年月日《Linux程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告 -PAGE1-實(shí)驗(yàn)?zāi)康呐c要求掌握LinuxC開發(fā)過程中的基本概念;掌握如GCC,GDB等開發(fā)工具的使用。實(shí)驗(yàn)內(nèi)容將參考代碼錄入到test1.c文件中,編譯執(zhí)行后發(fā)現(xiàn)結(jié)果與預(yù)期不一致,請(qǐng)使用GDB調(diào)試,完成字符串反序輸出功能。參考源代碼#include<stdio.h>#include<stdlib.h>#include<string.h>intreverse_str(char*string);intmain(void){charstring[]="LinuxCTools:GCCandGDB";printf("Theoriginalstringis%s\n",string);reverse_str(string);}intreverse_str(char*str){char*new_str;inti,size;size=strlen(str);if((new_str=(char*)malloc(size+1))==NULL){return-1;}for(i=0;i<size;i++)new_str[size-i]=str[i];new_str[size+1]='';printf("Thereversedstringis%s\n",new_str);free(new_str);return0;}實(shí)驗(yàn)步驟編輯源代碼test1.cmkdirtest1cdtest1}調(diào)用庫函數(shù)的源文件為main.c如下:/*main.c*/voidprint1(intarg);voidprint2(char*arg);intmain(intargc,char*argv[]){inti=3;char*str="testlibary!\n";print1(i);print2(str);return0;}生成靜態(tài)庫(myprint.a)并使用的基本步驟步驟1:編譯print1.c,print2.c生成print1.o,print2.o目標(biāo)文件gcc-cprint1.cprint2.c步驟2:生成myprint靜態(tài)庫文件libmyprint.aar-rlibmyprint.aprint1.oprint2.o步驟3:拷貝庫文件libmyprint.a到/usr/lib目錄下sudocplibmyprint.a/usr/lib說明:若不將靜態(tài)鏈接庫拷貝到/usr/lib目錄下,在調(diào)用該庫時(shí)需通過GCC選項(xiàng)-L指定庫文件所在路徑步驟4:調(diào)用靜態(tài)庫文件,編譯生成可執(zhí)行二進(jìn)制文件gcc-omainmain.c-lmyprint生成動(dòng)態(tài)鏈接庫(myprint.so)并使用的基本步驟步驟1:編譯print1.c,print2.c生成print1.o,print2.o目標(biāo)文件gcc-c-fpicprint1.cprint2.c注意:GCC選項(xiàng)“-fpic”表示獨(dú)立編址,運(yùn)行時(shí)可計(jì)算出相應(yīng)的內(nèi)部地址。步驟2:生成myprint動(dòng)態(tài)鏈接庫libmyprint.sogcc–sharedprint1.oprint2.o-olibmyprint.so步驟3:拷貝庫文件libmyprint.so到/usr/lib目錄下sudocplibmyprint.so/usr/lib步驟4:調(diào)用動(dòng)態(tài)庫文件,編譯生成可執(zhí)行二進(jìn)制文件gcc-omainmain.clibmyprint.so實(shí)驗(yàn)體會(huì)本次實(shí)驗(yàn)是Linux的第一次實(shí)驗(yàn),換了一個(gè)環(huán)境,很不適應(yīng),沒有鼠標(biāo)操作的情況下,可以通過上下鍵來選擇vim,gcc等操作,也極為方便了我們的操作,再有就是gdb,語言代碼除了符合最基本的語法規(guī)范之外還必須符合設(shè)計(jì)者的邏輯意圖,如果發(fā)現(xiàn)生成的可執(zhí)行文件運(yùn)行結(jié)果不正確,則可以通過相應(yīng)的調(diào)試環(huán)境來跟蹤調(diào)試,因此需要用到gdb。比如,用來查看文件,設(shè)置斷點(diǎn),運(yùn)行程序,查看變量,表達(dá)式的值等等,其中的step,next等很是重要:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國熱敏元件行業(yè)應(yīng)用動(dòng)態(tài)與產(chǎn)銷需求研究報(bào)告
- 2025至2030中國海綿焦市場需求分析與未來發(fā)展動(dòng)向研究報(bào)告
- 2025至2030中國沙棘顆粒行業(yè)銷售規(guī)模分析及項(xiàng)目投資建議報(bào)告
- 2025至2030中國氫氧化鎂行業(yè)現(xiàn)狀動(dòng)態(tài)及應(yīng)用前景研究報(bào)告
- 2025至2030中國民用建筑行業(yè)現(xiàn)狀規(guī)模及投資發(fā)展策略研究報(bào)告
- 基于2025年預(yù)測的交通基礎(chǔ)設(shè)施建設(shè)投融資模式創(chuàng)新策略研究報(bào)告
- 2025至2030中國方形壓膜機(jī)行業(yè)發(fā)展?fàn)顩r及應(yīng)用潛力研究報(bào)告
- 2025至2030中國工業(yè)自動(dòng)控制系統(tǒng)裝置制造行業(yè)運(yùn)行形勢與投資前景研究報(bào)告
- 2025至2030中國室內(nèi)擺設(shè)行業(yè)風(fēng)險(xiǎn)評(píng)估及發(fā)展?jié)摿ρ芯繄?bào)告
- 2025至2030中國姜油行業(yè)競爭態(tài)勢及營銷趨勢研究報(bào)告
- 英語泛讀教程第四冊(cè)Unit 8 Holocaust課件
- 國際學(xué)校標(biāo)準(zhǔn)入學(xué)測試題
- DB21T 3532-2021 植保無人機(jī)釋放赤眼蜂防治水稻二化螟技術(shù)規(guī)程
- 初中七年級(jí)數(shù)學(xué)下學(xué)期5月月考試卷
- 例行檢驗(yàn)確認(rèn)檢驗(yàn)設(shè)備運(yùn)行檢查規(guī)范
- 招商證券公司客戶服務(wù)標(biāo)準(zhǔn)手冊(cè)
- 西南交通大學(xué)《行車組織》區(qū)段站工作組織課程設(shè)計(jì)(附大圖)
- 康復(fù)治療技術(shù)(康復(fù)養(yǎng)老服務(wù))專業(yè)群建設(shè)方案
- 防止水電站水淹廠房措施研究報(bào)告
- 衛(wèi)生監(jiān)督稽查規(guī)范
- 修正責(zé)任準(zhǔn)備金
評(píng)論
0/150
提交評(píng)論