Ubuntu下vim gcc gdb安裝及使用

2021-06-23 00:52:32 字數 1935 閱讀 4298

在ubuntu下安裝gcc和其他一些linux系統有點不一樣。

一)安裝  

vim)開啟命令列執行sudo apt-get install vim,並按提示輸入管理員密碼。

gcc+gdb)輸入命令列 執行 sudo apt-get install build-essential

build-essential包含gcc和gdb等工具,是c語言的開發包。

安裝完了可以執行

gcc--version

的命令來檢視版本,輸出如下:

gcc(gcc)4.2.3(ubuntu4.2.3-2ubuntu7)

編譯則使用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

四)gdb偵錯程式的使用

輸入命令:gdb cfilename,開始除錯程式。

下面列出一些gdb常用命令:

l 輸出第n行到n+9行的源**

break 在第n行設定斷點

info break        檢視斷點資訊

r                     執行

n                    單步執行

c                     繼續執行

p varname       輸出變數值

q                    退出

本文出自 「mr~鐘」 部落格,請務必保留此出處

ubuntu下Eclipse下新增GBK編碼

把windows下的工程匯入到了linux下eclipse中,由於以前的工程 都是gbk編碼的 windows下的eclipse 缺省會去讀取系統的編碼,所以widnwos下的eclipse的編碼為gbk 而ubuntu預設是不支援gbk編碼的。所以,首先我們要先讓 ubuntu支援gbk,方法如下...

ubuntu下源配置

更新源,更新系統 編輯源 sudo gedit etc apt sources.list 配置乙個源足矣,越多越麻煩。系統似乎不會自動識別速度最快的源,源越多隻會導致update和upgrade的速度減慢。中國科學技術大學更新伺服器 教育網,推薦校園網和網通使用者使用 電信cn99的源 推薦電信使用...

UBUNTU下軟體安裝

先簡單說介紹一下ubuntu。ubuntu的中文發音大約為 烏班圖。ubuntu這個單詞源自非洲,意謂 班圖精神 誰都不是一座孤島,自成一體。每個人都包孕於人類,因他人存在而存在,因他人幸福而幸福。下面介紹下在ubuntu下如何裝軟體。linux系統中,軟體通常以源 或者預編譯包的形式提供。1 軟體...