方法一:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了三門峽免費(fèi)建站歡迎大家使用!
該方法超簡(jiǎn)單:
sudoapt-getbuild-depgcc
就上面這條命令就可以搞定
方法二:
sudoapt-getinstallbuild-essential
還是簡(jiǎn)單,一句命令也可以搞定
安裝完了可以執(zhí)行
gcc--version
的命令來查看版本,輸出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.
編譯則使用gcc命令。要往下學(xué)習(xí)首先就得熟悉gcc命令的用法。
gcc命令提供了非常多的命令選項(xiàng),但并不是所有都要熟悉,初學(xué)時(shí)掌握幾個(gè)常用的就可以了,到后面再慢慢學(xué)習(xí)其它選項(xiàng),免得因選項(xiàng)太多而打擊了學(xué)習(xí)的信心。
一.?常用編譯命令選項(xiàng)
假設(shè)源程序文件名為test.c。
1.?無選項(xiàng)編譯鏈接
用法:#gcc?test.c
作用:將test.c預(yù)處理、匯編、編譯并鏈接形成可執(zhí)行文件。這里未指定輸出文件,默認(rèn)輸出為a.out。
2.?選項(xiàng)?-o
用法:#gcc?test.c?-o?test
作用:將test.c預(yù)處理、匯編、編譯并鏈接形成可執(zhí)行文件test。-o選項(xiàng)用來指定輸出文件的文件名。
3.?選項(xiàng)?-E
用法:#gcc?-E?test.c?-o?test.i
作用:將test.c預(yù)處理輸出test.i文件。
4.?選項(xiàng)?-S
用法:#gcc?-S?test.i
作用:將預(yù)處理輸出文件test.i匯編成test.s文件。
5.?選項(xiàng)?-c
用法:#gcc?-c?test.s
作用:將匯編輸出文件test.s編譯輸出test.o文件。
6.?無選項(xiàng)鏈接
用法:#gcc?test.o?-o?test
作用:將編譯輸出文件test.o鏈接成最終可執(zhí)行文件test。
7.?選項(xiàng)-O
用法:#gcc?-O1?test.c?-o?test
作用:使用編譯優(yōu)化級(jí)別1編譯程序。級(jí)別為1~3,級(jí)別越大優(yōu)化效果越好,但編譯時(shí)間越長(zhǎng)。
二.?多源文件的編譯方法
如果有多個(gè)源文件,基本上有兩種編譯方法:
[假設(shè)有兩個(gè)源文件為test.c和testfun.c]
1.?多個(gè)文件一起編譯
用法:#gcc?testfun.c?test.c?-o?test
作用:將testfun.c和test.c分別編譯后鏈接成test可執(zhí)行文件。
2.?分別編譯各個(gè)源文件,之后對(duì)編譯后輸出的目標(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
以上兩種方法相比較,第一中方法編譯時(shí)需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件,未修改的文件不用重新編譯。
格式 gcc [option] [sourcefilename]
介紹一些常用的選項(xiàng):最簡(jiǎn)單的是:gcc hello.c
默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,你只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果.
如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項(xiàng),命令如下:
gcc -o hello hello.c
命令如下:
gcc -c hello hello.c
執(zhí)行g(shù)cc-v命令,如果Linux系統(tǒng)沒有安裝gcc編譯器,會(huì)提示“Commandnotfound”。
1、如果系統(tǒng)上安裝了gcc編譯器,這條命令就會(huì)顯示出當(dāng)前安裝的gcc編譯器是哪個(gè)版本。如下:
2、如果提示命令找不到,則表明沒有安裝,如下:
擴(kuò)展資料:
安裝GCC的必要事項(xiàng):
GCC可以用來編譯C/C++、FORTRAN、Java、OBJC、ADA等語(yǔ)言的程序,可根據(jù)需要選擇安裝支持的語(yǔ)言。
安裝之前,系統(tǒng)中必須要有cc或者gcc等編譯器,并且是可用的,或者用環(huán)境變量CC指定系統(tǒng)上的編譯器。如果系統(tǒng)上沒有編譯器,不能安裝源代碼形式的GCC4.1.2。如果是這種情況,可以在網(wǎng)上找一個(gè)與系統(tǒng)相適應(yīng)的如RPM等二進(jìn)制形式的GCC軟件包來安裝使用。
系統(tǒng)上原來的GCC編譯器可能是把gcc等命令文件、庫(kù)文件、頭文件等分別存放到系統(tǒng)中的不同目錄下的。
與此不同,現(xiàn)在GCC建議將一個(gè)版本的GCC安裝在一個(gè)單獨(dú)的目錄下。這樣做的好處是將來不需要它的時(shí)候可以方便地刪除整個(gè)目錄即可(因?yàn)镚CC沒有uninstall功能);缺點(diǎn)是在安裝完成后要做一些設(shè)置工作才能使編譯器工作正常。
參考資料:
百度百科--GCC
編譯方法:格式 gcc [option] [sourcefilename]常用的選項(xiàng)最簡(jiǎn)單的是:gcc hello.c默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,
只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果,如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項(xiàng),命令如下:gcc -o hello hello.c
命令:gcc -c hello hello.c
擴(kuò)展資料:
gcc命令的基本用法
gcc[options]?[filenames] ?
其中,filenames為文件名;options為編譯選項(xiàng)。
當(dāng)不使用任何編譯選項(xiàng)編譯hello.c時(shí),gcc將會(huì)自動(dòng)編譯產(chǎn)生一個(gè)a.out的可執(zhí)行文件:
[root@localhost?c]#?ls ?
hello.c ?
[root@localhost?c]#?gcc?hello.c ?
[root@localhost?c]#?ls ?
a.out??hello.c?
執(zhí)行:
[root@localhost?c]#?./a.out ?
Hello,?World!?
使用-o編譯選擇,可以為編譯后的文件指定一個(gè)名字:
[root@localhost?c]#?ls ?
a.out??hello.c ?
[root@localhost?c]#?gcc?hello.c?-o?hello ?
[root@localhost?c]#?ls ?
a.out??hello??hello.c ?
執(zhí)行:
[root@localhost?c]#?./hello ?
Hello,?World!?
注意:使用-o選項(xiàng)時(shí),-o后面必須跟一個(gè)文件名,即:-o outfile。
為了便于描述后面的選項(xiàng),刪除hello和a.out可執(zhí)行文件。