溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu下vim+gcc+gdb安裝及使用

發(fā)布時(shí)間:2020-06-18 12:28:47 來源:網(wǎng)絡(luò) 閱讀:2883 作者:159789zhong 欄目:軟件技術(shù)

 在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                    退出

 

向AI問一下細(xì)節(jié)

免責(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)容。

AI