您好,登錄后才能下訂單哦!
在Ubuntu下安裝GCC和其他一些Linux系統(tǒng)有點(diǎn)不一樣。
一)安裝
vim)打開命令行運(yùn)行sudo apt-get install vim,并按提示輸入管理員密碼。
gcc+gdb)輸入命令行 運(yùn)行 sudo apt-get install build-essential
build-essential包含gcc和gdb等工具,是C語言的開發(fā)包。
安裝完了可以執(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)化級別1編譯程序。級別為1~3,級別越大優(yōu)化效果越好,但編譯時(shí)間越長。
三) 多源文件的編譯方法
如果有多個(gè)源文件,基本上有兩種編譯方法:
[假設(shè)有兩個(gè)源文件為test.c和testfun.c]
1. 多個(gè)文件一起編譯
用法:#gcc testfun.c test.c -o test
作用:將testfun.c和test.c分別編譯后鏈接成test可執(zhí)行文件。
2. 分別編譯各個(gè)源文件,之后對編譯后輸出的目標(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
四)gdb調(diào)試器的使用
輸入命令:gdb Cfilename,開始調(diào)試程序。
下面列出一些gdb常用命令:
l <n> 輸出第n行到n+9行的源代碼
break <n> 在第n行設(shè)置斷點(diǎn)
info break 查看斷點(diǎn)信息
r 運(yùn)行
n 單步執(zhí)行
c 繼續(xù)執(zhí)行
p varName 輸出變量值
q 退出
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。