課件語(yǔ)言第三講gccgdb_第1頁(yè)
課件語(yǔ)言第三講gccgdb_第2頁(yè)
課件語(yǔ)言第三講gccgdb_第3頁(yè)
課件語(yǔ)言第三講gccgdb_第4頁(yè)
課件語(yǔ)言第三講gccgdb_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

GCC&GDB張建海

FindAllTheErrors!#include<stdio.h>;(;)#definePI=3.14;(=;加=會(huì)當(dāng)成字符序列,函數(shù)中的pi就會(huì)沒有定義)intmain()(是有操作系統(tǒng)調(diào)用的,開始調(diào)用一個(gè)新的進(jìn)程,把參數(shù)當(dāng)成以空格隔開的字符串?dāng)?shù)組){intk,m[3],a[3]={3,6,8},*p=m;(只有當(dāng)數(shù)組在定義的時(shí)候才能初始化,如果定義a[3],a={3,6,8},是錯(cuò)的,a是首地址,是一個(gè)值,*p是地址,m也是個(gè)地址常量)char*str;(字符指針)str=“Ilikeprogramming!”;()scanf(“%d”,k);if(k=0){for(i=0;i<=3;i++)*p++=*a++;}while(*str!=‘\0’)printf(“%c”,*str);}一、GCC編譯器1.1什么是GCC?GCC是GNU

Project的一個(gè)項(xiàng)目。是一個(gè)用于編程開發(fā)的自由編譯器。最初,GCC只是一個(gè)C語(yǔ)言編譯器,是GNUCCompiler的英文縮寫。隨著眾多自由開發(fā)者的加入和GCC自身的發(fā)展,如今的GCC已經(jīng)是一個(gè)包含眾多語(yǔ)言的編譯器了。其中包括C,C++,Ada,ObjectC和Java等。所以,GCC也由原來(lái)的GNUCCompiler變?yōu)镚NUCompilerCollection。直到現(xiàn)在,GCC的歷史仍然在繼續(xù),它的傳奇仍然被人所傳頌。而且更重要的是GCC完全是一款免費(fèi)的自由軟件,加之其強(qiáng)大的功能所以深受廣大用戶的喜愛。1.2GCC編譯流程對(duì)源程序hello.c進(jìn)行編譯和鏈接,并使用–o參數(shù)指定創(chuàng)建名為Hello的可執(zhí)行程序1.2GCC編譯流程1.2GCC編譯流程$gcc–Ehello.c–ohello.cpp-E選項(xiàng)告訴GCC在預(yù)處理后停止編譯過程$vimhello.cpp//查看預(yù)編譯后的輸出文件$gcc–xcpp-output–chello.cpp–ohello.o-c將hello.cpp編譯為目標(biāo)代碼-x使GCC從指定步驟開始編譯$gcchello.o–ohello

鏈接目標(biāo)文件,生成二進(jìn)制代碼1.2GCC編譯流程1.2GCC編譯流程1.3GCC中常用文件擴(kuò)展名1.4GCC常用選項(xiàng)1.4GCC常用選項(xiàng)1.4GCC常用選項(xiàng)1.4GCC常用選項(xiàng)1.4GCC常用選項(xiàng)-警告和出錯(cuò)消息選項(xiàng)1.4GCC常用選項(xiàng)-優(yōu)化選項(xiàng)$gcc–Opisqrt.c–opisqrt$time./pisqrt1.4GCC常用選項(xiàng)-調(diào)試選項(xiàng)-g-ggdb

在編譯后的程序中插入調(diào)試信息以方便調(diào)試會(huì)話過程。ggdb選項(xiàng)可以插入的更為豐富的調(diào)試信息,但是生成的可執(zhí)行文件有可能無(wú)法用其它調(diào)試器調(diào)試。

調(diào)試選項(xiàng)的啟動(dòng)會(huì)讓二進(jìn)制文件的大小急劇增長(zhǎng)。

盡管會(huì)使文件大小增長(zhǎng),但仍然建議在執(zhí)行文件中包含標(biāo)準(zhǔn)的調(diào)試信息,以便用戶在遇到問題時(shí)可以調(diào)試代碼。1.5編譯實(shí)例1.5編譯實(shí)例1.5編譯實(shí)例1.5編譯實(shí)例1.5編譯實(shí)例1.5編譯實(shí)例1.5編譯實(shí)例1.5編譯實(shí)例二、GDB調(diào)試器2.1GDB介紹GDB—GNUDeBugger

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論