linux下c語言編程收

linux下c語言編程收

ID:30361889

大小:88.00 KB

頁數(shù):17頁

時間:2018-12-29

linux下c語言編程收_第1頁
linux下c語言編程收_第2頁
linux下c語言編程收_第3頁
linux下c語言編程收_第4頁
linux下c語言編程收_第5頁
資源描述:

《linux下c語言編程收》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、Linux下C語言編程收Linux下C語言編程-收2010-06-2409:52原著:RickMcMullin前言Linux的發(fā)行版中包含了很多軟件開發(fā)工具.它們中的很多是用于C和C++應(yīng)用程序開發(fā)的.本文介紹了在Linux下能用于C應(yīng)用程序開發(fā)和調(diào)試的工具.本文的主旨是介紹如何在Linux下使用C編譯器和其他C編程工具,而非C語言編程的教程.在本文中你將學(xué)到以下知識:什么是CGNUC編譯器用gdb來調(diào)試GCC應(yīng)用程序你也能看到隨Linux發(fā)行的其他有用的C編程工具.這些工具包括源程序美化程序(prettyprintprograms),附加

2、的調(diào)試工具,函數(shù)原型自動生成工具(automaticfunctionprototypers).源程序美化程序(prettyprintprograms)自動幫你格式化源代碼產(chǎn)生始終如一的縮進(jìn)格式.什么是C?C是一種在UNIX操作系統(tǒng)的早期就被廣泛使用的通用編程語言.它最早是由貝爾實(shí)驗(yàn)室的DennisRitchie為了UNIX的輔助開發(fā)而寫的,開始時UNIX是用匯編語言和一種叫B的語言編寫的.從那時候起,C就成為世界上使用最廣泛計(jì)算機(jī)語言.C能在編程領(lǐng)域里得到如此廣泛支持的原因有以下一些:它是一種非常通用的語言.幾乎你所能想到的任何一種計(jì)算機(jī)上

3、都有至少一種能用的C編譯器.并且它的語法和函數(shù)庫在不同的平臺上都是統(tǒng)一的,這個特性對開發(fā)者來說很有吸引力.用C寫的程序執(zhí)行速度很快.C是所有版本的UNIX上的系統(tǒng)語言.C在過去的二十年中有了很大的發(fā)展.在80年代末期美國國家標(biāo)準(zhǔn)協(xié)會(AmericanNationalStandardsInstitute)發(fā)布了一個被稱為ANSIC的C語言標(biāo)準(zhǔn).這更加保證了將來在不同平臺上的C的一致性.在80年代還出現(xiàn)了一種C的面向?qū)ο蟮臄U(kuò)展稱為C++.C++將在另一篇文章"C++編程"中描述.Linux上可用的C編譯器是GNUC編譯器,它建立在自由軟件基金會

4、的編程許可證的基礎(chǔ)上,因此可以自由發(fā)布.你能在Linux的發(fā)行光盤上找到它.GNUC編譯器隨SlackwareLinux發(fā)行的GNUC編譯器(GCC)是一個全功能的ANSIC兼容編譯器.如果你熟悉其他操作系統(tǒng)或硬件平臺上的一種C編譯器,你將能很快地掌握GCC.本節(jié)將介紹如何使用GCC和一些GCC編譯器最常用的選項(xiàng).使用GCC通常后跟一些選項(xiàng)和文件名來使用GCC編譯器.gcc命令的基本用法如下:gcc[options][filenames]命令行選項(xiàng)指定的操作將在命令行上每個給出的文件上執(zhí)行.下一小節(jié)將敘述一些你會最常用到的選項(xiàng).GCC選項(xiàng)G

5、CC有超過100個的編譯選項(xiàng)可用.這些選項(xiàng)中的許多你可能永遠(yuǎn)都不會用到,但一些主要的選項(xiàng)將會頻繁用到.很多的GCC選項(xiàng)包括一個以上的字符.因此你必須為每個選項(xiàng)指定各自的連字符,并且就象大多數(shù)Linux命令一樣你不能在一個單獨(dú)的連字符后跟一組選項(xiàng).例如,下面的兩個命令是不同的:gcc-p-gtest.cgcc-pgtest.c第一條命令告訴GCC編譯test.c時為prof命令建立剖析(profile)信息并且把調(diào)試信息加入到可執(zhí)行的文件里.第二條命令只告訴GCC為gprof命令建立剖析信息.當(dāng)你不用任何選項(xiàng)編譯一個程序時,GCC將會建立(假

6、定編譯成功)一個名為a.out的可執(zhí)行文件.例如,下面的命令將在當(dāng)前目錄下產(chǎn)生一個叫a.out的文件:gcctest.c你能用-o編譯選項(xiàng)來為將產(chǎn)生的可執(zhí)行文件指定一個文件名來代替a.out.例如,將一個叫count.c的C程序編譯為名叫count的可執(zhí)行文件,你將輸入下面的命令:gcc-ocountcount.c當(dāng)你使用-o選項(xiàng)時,-o后面必須跟一個文件名.GCC同樣有指定編譯器處理多少的編譯選項(xiàng).-c選項(xiàng)告訴GCC僅把源代碼編譯為目標(biāo)代碼而跳過匯編和連接的步驟.這個選項(xiàng)使用的非常頻繁因?yàn)樗沟镁幾g多個C程序時速度更快并且更易于管理.缺省

7、時GCC建立的目標(biāo)代碼文件有一個.o的擴(kuò)展名.-S編譯選項(xiàng)告訴GCC在為C代碼產(chǎn)生了匯編語言文件后停止編譯.GCC產(chǎn)生的匯編語言文件的缺省擴(kuò)展名是.s.-E選項(xiàng)指示編譯器僅對輸入文件進(jìn)行預(yù)處理.當(dāng)這個選項(xiàng)被使用時,預(yù)處理器的輸出被送到標(biāo)準(zhǔn)輸出而不是儲存在文件里.優(yōu)化選項(xiàng)當(dāng)你用GCC編譯C代碼時,它會試著用最少的時間完成編譯并且使編譯后的代碼易于調(diào)試.易于調(diào)試意味著編譯后的代碼與源代碼有同樣的執(zhí)行次序,編譯后的代碼沒有經(jīng)過優(yōu)化.有很多選項(xiàng)可用于告訴GCC在耗費(fèi)更多編譯時間和犧牲易調(diào)試性的基礎(chǔ)上產(chǎn)生更小更快的可執(zhí)行文件.這些選項(xiàng)中最典型的是-O

8、和-O2選項(xiàng).-O選項(xiàng)告訴GCC對源代碼進(jìn)行基本優(yōu)化.這些優(yōu)化在大多數(shù)情況下都會使程序執(zhí)行的更快.-O2選項(xiàng)告訴GCC產(chǎn)生盡可能小和盡可能快的代碼.-O2選項(xiàng)將使編譯的速度比使用

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。