GCC/G++使用指南

什么是gcc表制?
gcc命令使用GNU推出的基于C/C++的編譯器,是開放源代碼領(lǐng)域應(yīng)用最廣泛的編譯器埋泵,具有功能強大秉撇,編譯代碼支持性能優(yōu)化等特點。現(xiàn)在很多程序員都應(yīng)用GCC秋泄,怎樣才能更好的應(yīng)用GCC琐馆。目前,GCC可以用來編譯C/C++恒序、FORTRAN瘦麸、JAVA、OBJC歧胁、ADA等語言的程序滋饲,可根據(jù)需要選擇安裝支持的語言。

gcc的使用:

  1. 語法

    gcc [選項] [參數(shù)]
    
  2. 選項

    -o:指定生成的輸出文件名稱喊巍;
    -E:僅執(zhí)行編譯預(yù)處理屠缭;
    -S:將C語言源代碼轉(zhuǎn)換為匯編代碼;
    -Wall:顯示警告信息崭参;
    -c:僅執(zhí)行編譯操作呵曹,不進(jìn)行鏈接操作
    
  3. 參數(shù)

    C語言源文件
    
  4. 實例
    常用編譯命令選項
    假設(shè)源程序文件名為test.c

  • 無選項編譯鏈接
    gcc test.c //將test.c預(yù)處理、匯編、編譯并鏈接形成可執(zhí)行文件奄喂。這里未指定輸出文件铐殃,默認(rèn)輸出為a.out。

  • 選項 -o
    gcc test.c -o test
    將test.c預(yù)處理跨新、匯編富腊、編譯并鏈接形成可執(zhí)行文件test。-o選項用來指定輸出文件的文件名域帐。

  • 選項 -E
    gcc -E test.c -o test.i
    將test.c預(yù)處理輸出test.i文件赘被。

  • 選項 -S
    gcc -S test.i
    將預(yù)處理輸出文件test.i匯編成test.s文件。

  • 選項 -c
    gcc -c test.s
    將匯編輸出文件test.s編譯輸出test.o文件肖揣。

  • 無選項鏈接
    gcc test.o -o test
    將編譯輸出文件test.o鏈接成最終可執(zhí)行文件test民假。

  • 選項 -O
    gcc -O1 test.c -o test
    使用編譯優(yōu)化級別1編譯程序。級別為1~3许饿,級別越大優(yōu)化效果越好,但編譯時間越長舵盈。

  • 多源文件的編譯方法
    如果有多個源文件陋率,基本上有兩種編譯方法:
    假設(shè)有兩個源文件為test.c和testfun.c
    多個文件一起編譯
    gcc testfun.c test.c -o test
    將testfun.c和test.c分別編譯后鏈接成test可執(zhí)行文件。

  • 分別編譯各個源文件秽晚,之后對編譯后輸出的目標(biāo)文件鏈接
    gcc -c testfun.c #將testfun.c編譯成testfun.o
    gcc -c test.c #將test.c編譯成test.o
    gcc -o testfun.o test.o -o test #將testfun.o和test.o鏈接成test
    以上兩種方法相比較瓦糟,第一中方法編譯時需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件赴蝇,未修改的文件不用重新編譯菩浙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市句伶,隨后出現(xiàn)的幾起案子劲蜻,更是在濱河造成了極大的恐慌,老刑警劉巖考余,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件先嬉,死亡現(xiàn)場離奇詭異,居然都是意外死亡楚堤,警方通過查閱死者的電腦和手機疫蔓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來身冬,“玉大人衅胀,你說我怎么就攤上這事∷煮荩” “怎么了滚躯?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我哀九,道長剿配,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任阅束,我火速辦了婚禮呼胚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘息裸。我一直安慰自己蝇更,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布呼盆。 她就那樣靜靜地躺著年扩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪访圃。 梳的紋絲不亂的頭發(fā)上厨幻,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音腿时,去河邊找鬼况脆。 笑死,一個胖子當(dāng)著我的面吹牛批糟,可吹牛的內(nèi)容都是我干的格了。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼徽鼎,長吁一口氣:“原來是場噩夢啊……” “哼盛末!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起否淤,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤悄但,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后石抡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體算墨,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年汁雷,在試婚紗的時候發(fā)現(xiàn)自己被綠了净嘀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡侠讯,死狀恐怖挖藏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厢漩,我是刑警寧澤膜眠,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響宵膨,放射性物質(zhì)發(fā)生泄漏架谎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一辟躏、第九天 我趴在偏房一處隱蔽的房頂上張望谷扣。 院中可真熱鬧,春花似錦捎琐、人聲如沸会涎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽末秃。三九已至,卻和暖如春籽御,著一層夾襖步出監(jiān)牢的瞬間练慕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工技掏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铃将,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓零截,卻偏偏與公主長得像麸塞,于是被迫代替她去往敵國和親秃臣。 傳聞我的和親對象是個殘疾皇子涧衙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • (一) gcc的基本用法 (二) 警告提示功能選項 (三) 庫操作選項 (四) 調(diào)試選項 (五) 交叉編譯選項 (...
    何景根閱讀 2,549評論 0 1
  • GCC編譯器 GCC是一個交叉平臺的編譯器,我想大家并不會覺得陌生奥此。C/C++開發(fā)的時候很多時候都會用到GCC來進(jìn)...
    故事狗閱讀 9,140評論 0 25
  • 1.簡介 GCC 的意思也只是 GNU C Compiler 而已弧哎。經(jīng)過了這么多年的發(fā)展,GCC 已經(jīng)不僅僅能支持...
    Leon_Geo閱讀 715評論 0 4
  • 1. 先安裝Dev-c++稚虎,在安裝目錄找到“Dev-Cpp(安裝目錄)\bin\gcc”,就是它了撤嫩。 2. 將“D...
    HuJay閱讀 1,220評論 1 2
  • pwd返回了根目錄 這時候看到系統(tǒng)返回了一個 /,這個 / 被我們稱為系統(tǒng)的 根目錄(root)蠢终,這個位置也就是我...
    夏威夷的芒果閱讀 725評論 0 1