在Ubuntu下安裝GCC和其他一些Linux系統有點不一樣。
方法一:
該方法超簡單:
sudo apt-get build-depgcc
就上面這條命令就可以搞定
方法二:
sudo apt-get install build-essential
還是簡單,一句命令也可以搞定
安裝完了可以執行
gcc--version
的命令來查看版本,輸出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.
編譯則使用gcc命令。要往下學習首先就得熟悉gcc命令的用法。
gcc命令提供了非常多的命令選項,但並不是所有都要熟悉,初學時掌握幾個常用的就可以了,到後面再慢慢學習其它選項,免得因選項太多而打擊了學習的信心。
一. 常用編譯命令選項
假設來源程式檔案名稱為test.c。
1. 無選項編譯連結
用法:#gcc test.c
作用:將test.c預先處理、彙編、編譯並連結形成可執行檔。這裡未指定輸出檔案,預設輸出為a.out。
2. 選項 -o
用法:#gcc test.c -o test
作用:將test.c預先處理、彙編、編譯並連結形成可執行檔test。-o選項用來指定輸出檔案的檔案名稱。
3. 選項 -E
用法:#gcc -E test.c -o test.i
作用:將test.c預先處理輸出test.i檔案。
4. 選項 -S
用法:#gcc -S test.i
作用:將預先處理輸出檔案test.i彙編成test.s檔案。
5. 選項 -c
用法:#gcc -c test.s
作用:將彙編輸出檔案test.s編譯輸出test.o檔案。
6. 無選項連結
用法:#gcc test.o -o test
作用:將編譯輸出檔案test.o連結成最終可執行檔test。
7. 選項-O
用法:#gcc -O1 test.c -o test
作用:使用編譯最佳化層級1編譯器。層級為1~3,層級越大最佳化效果越好,但編譯時間越長。
二. 多源檔案的編譯方法
如果有多個源檔案,基本上有兩種編譯方法:
[假設有兩個源檔案為test.c和testfun.c]
1. 多個檔案一起編譯
用法:#gcc testfun.c test.c -o test
作用:將testfun.c和test.c分別編譯後連結成test可執行檔。
2. 分別編譯各個源檔案,之後對編譯後輸出的目標檔案連結。
用法:
#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
以上兩種方法相比較,第一中方法編譯時間需要所有檔案重新編譯,而第二種方法可以只重新編譯修改的檔案,未修改的檔案不用重新編譯。