版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Linux下C語言程序的編譯調(diào)試實驗學 院:中子信息工程學院專 業(yè):通信工程姓 名:王斯宇學 號:11211116指導老師:周圍老師完成時間: 2013年6月3日一、實驗目的1,熟悉Linux下C語言編譯調(diào)試環(huán)境。2 .學會使用gcc編譯C程序。3 .學會使用gdb調(diào)試C程序。二、實驗內(nèi)容1 .在Linux 下,編寫程序factorize.c,功能如下:輸入一個int型整數(shù),輸出其因式分解結果。2 .編譯運行,生成可執(zhí)行文件。3,用gdb調(diào)試該程序,找到錯誤并修改。三、實驗軟件環(huán)境GCCGCC (GNU Compiler Collection, GNU 編譯器集合)是一套由 GNU 工程開發(fā)的
2、支持多種編程語言的編譯器。GCC是自由軟件發(fā)展過程中的著名例子, 由自由軟件基金會以GPL協(xié)議發(fā)布。GCC是大多數(shù)類Unix操作系統(tǒng)(如Linux、 BSD、Mac OS X 等)的標準的編譯器,GCC同樣適用于微軟的 Windows。 GCC支持多種計算機體系芯片,如x86、ARM ,并已移植到其他多種硬件平臺。 GCC原名為GNU C編譯器(GNU C Compiler ),因為它原本只能處理 C語 言。GCC很快地擴展,并支持處理 C+。后來又擴展能夠支持更多編程語言, 如 Fortran 、Pascal、Objective-C 、Java、Ada、Go 等。GDBGDB是GNU開源組織
3、發(fā)布的一個強大的UNIX下的程序調(diào)試工具?;蛟S, 各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調(diào)試,但如果你是在UNIX平臺下做軟件,你會發(fā)現(xiàn) GDB這個調(diào)試工具有比VC、BCB的圖形 化調(diào)試器更強大的功能。所謂“寸有所長,尺有所短”就是這個道理。一般來說,GDB主要幫助你完成下面四個方面的功能:1、啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序。2、可讓被調(diào)試的程序在你所指定的調(diào)置的斷點處停住。(斷點可以是條件表達式)。3、當程序被停住時,可以檢查此時你的程序中所發(fā)生的事。4、動態(tài)的改變你程序的執(zhí)行環(huán)境。四、實驗步驟:1 .程序編輯在桌面環(huán)境下新建一個文件,打開文件輸入
4、代碼,保存為 factorize.c ,然 后將其復制到在/home/文檔目錄下。附:原程序代碼#include <stdio.h>int main(int argc, char *argv) int n,i;printf("Please enter an integer:");scanf("%d",&n);printf("%d=",n);for(i=2;i<=n;i+)(while(n!=i)(if(n%i=0)(printf("%d*",i);n=n-i;elsebreak;print
5、f("%dn",n);return 0;2 .編譯并運行用gcc命令編譯程序通過后運行,輸入 18 ,輸出結果明顯是錯誤的3 .調(diào)試進入gdb環(huán)境,使用gdb命令,幫助時使用help在for循環(huán)處(第9行)設置斷點,使用命令在printf函數(shù)處(第15行)設置斷點,使用命令“ b 15查看斷點設置情況,使用命令" info b運行代碼,使用命令" r”。單步運行代碼,使用命令" n”。查看暫停點變量值,使用命令“ pi ”或“ p n ”。繼續(xù)單步運行代碼數(shù)次,并使用命令查看,判斷 i或n的值。繼續(xù)程序的運行,使用命令" c”。從斷點
6、數(shù)據(jù)可以得知:程序一直處于 while循環(huán)之中,i的數(shù)值一直為2, 所以變量n的數(shù)值出現(xiàn)了問題,導致最終輸出結果只有2。仔細檢查代碼后發(fā)現(xiàn) 錯誤,原程序第16行“n=n-i ”應改為“ n=n/i4 .再次編譯并運行這次輸出"18=2*3*3 "正確,程序編寫成功附:修改后的程序代碼#include <stdio.h>int main(int argc, char *argv)int n,i;printf("Please enter an integer:");scanf("%d",&n);printf("
7、;%d=",n);for(i=2;i<=n;i+)while(n!=i)(if(n%i=0)(printf("%d*",i);n=n-i;)elsebreak;)printf("%dn",n);return 0;)同時,可以在文件系統(tǒng)中看到,程序代碼所在的文件夾生成了可執(zhí)行文件 factorize ,這也是gcc成功編譯并能下一步運行的體現(xiàn)。五、實驗總結通過本次實驗,我了解了 linux環(huán)境下進行C語言編程的基本方法,再一 次感受到了 ubuntu系統(tǒng)的簡便和快捷。與windows編程需要IDE開發(fā)環(huán)境不同,linux系統(tǒng)本身已經(jīng)良好的集成 了進行C語言的基本環(huán)境,所以只需在終端輸入幾個簡單的命令,程序即可編 譯并運行了。只是對于習慣了圖形界面的我們來說,剛上手時的確會感到這種方法的不便之處,尤其是對于初學者來說,不知道任何gcc或者gdb的命令就根本無從下手,而這一切只能靠記憶。但是不得不承認,這種方式的效率是最高的, 對系統(tǒng)資源的占用是最少的,可以說是最純粹的編程,完全不會出現(xiàn) visual studio那樣又卡又慢或者意外崩潰的情況。綜上所述,linux系統(tǒng)環(huán)境確實更加適合C程序開發(fā),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年標準駕校訓練場地租賃協(xié)議模板版B版
- 2024年版權轉讓合同:文學作品專用
- 2024-2030年中國客戶關系系統(tǒng)行業(yè)發(fā)展趨勢及投資創(chuàng)新模式分析報告
- 2024-2030年中國四柱液壓舉升機資金申請報告
- 2024年版本:大數(shù)據(jù)分析與咨詢服務合同
- 2024年物業(yè)租賃管理委托協(xié)議書
- 2024年標準無保險勞務派遣協(xié)議模板一
- 2024年全新移交合同協(xié)議書下載官方版3篇
- 2025年四川貨運從業(yè)資格證繼續(xù)再教育考試答案
- 2025標準商超供貨合同
- 2024年世界職業(yè)院校技能大賽高職組“護理技能組”賽項參考試題庫(含答案)
- DB22T 397-2014 保健用品功能學評價程序與檢驗方法
- GB/T 44815-2024激光器和激光相關設備激光束偏振特性測量方法
- 浙教版2023小學信息技術三年級上冊《進入在線平臺》說課稿及反思
- 《房顫抗凝新進展》課件
- 論文寫作講座模板
- 執(zhí)著與變通二元思辨作文-2023年高考語文作文考前素材與押題范文
- 國家開放大學《當代中國政治制度》期末復習題
- 2024廣州市勞動合同樣本(標準版)
- 關于水滸傳的題目單選題100道及答案解析
- 應急預案綜合演練培訓
評論
0/150
提交評論