Linux下的開發工具:vim,gcc,gdb,makefile以及yum語句安裝軟體
阿新 • • 發佈:2018-11-02
Linux下的開發工具:vim,gcc,gdb,makefile以及yum語句安裝軟體
1. vi/vim
vi/vim都是多模式編譯器,vim是vi的升級版本。vim有12個模式,在這我們先說3種模式,命令模式,插入模式,底行模式。
2. vim基本操作:
$vim test.c進入命令模式,輸入a/i/o進入插入模式,esc由插入模式進入命令模式,shift+;[:]由命令模式進入末行模式,退出vim可以用[:q](退出當前檔案)、[:w](儲存當前檔案)、[:wq](儲存並退出當前檔案)、[:q!](強制退出當前檔案)、[:wq!](強制儲存並退出當前檔案)
3. vim命令模式命令集:
- 【i】進入插入模式,游標即當前位置,開始輸入檔案內容;
- 【a】進入插入模式,從游標所在位置的下一個位置開始輸入檔案內容;
- 【o】進入插入模式,插入新的一行,從行首開始輸入檔案內容;
- 【h】【j】【k】【l】分別控制游標左、下、上、右;
- 【G】游標移至文章末尾;
- 【$】游標移至所在行的行尾;
- 【^】游標移至所在行的行首;
- 【w】游標移至下個字的開頭;
- 【e】游標移至下個字的字尾;
- 【b】游標移至上個字的開頭;
- 【gg】游標移至文字開始;
- 【x】刪除游標所在位置的一個字元;
- 【X】刪除游標所在位置前一位置的一個字元;
- 【#x】刪除游標所在位置的後面#個字元;
- 【#X】刪除游標所在位置的前面#個字元;
- 【dd】刪除游標所在行/剪下;
- 【#dd】刪除從游標所在行開始#行;
- 【yw】將游標所在之處到字尾的字元複製到緩衝區中;
- 【yy】將游標所在行復制到緩衝區中;
- 【p】貼上到游標處;
- 【u】撤銷;
- 【r】替換游標所在之處的字元;
- 【R】替換游標所到之處的字元,直到【esc】為止;
- 【ctrl+r】撤銷恢復;
- 【cw】更改游標所在之處的字元至字尾;
- 【#G】移動游標至第#行行首;
4.底行模式命令集:
- 【esc+:】進入末行模式;
- 【set nu】列出行號;
- 【#】游標跳至第#行行首;
- 【/關鍵字】從游標處向下查詢關鍵字直到找到為止;
- 【?關鍵字】從游標處向上查詢關鍵字直到找到為止;
- 【w】儲存檔案;
- 【q】退出檔案;
- 【wq】儲存並退出檔案;
- 【q!】強制退出檔案;
5.vim的配置:
參考如下:https://mp.csdn.net/postedit/83015344
6.編譯器gcc/g++:
- 預處理(巨集替換)gcc -E test.c -o test.i
- 編譯(生成彙編)gcc -S test.i -o test.s
- 彙編(生成機器可識別程式碼)gcc -c test.s -o test.o
- 連線(生成可執行檔案或庫檔案)gcc test.o -o test
7.gcc的使用:
- 【gcc -static】對生成的檔案採用靜態連線;(動態連結:進入庫函式呼叫並返回;靜態連結:直接拷貝原始碼並使用)
- 【gcc -g】生成除錯資訊;
- 【gcc -w】不生成任何警告資訊;
- 【gcc -W】生成所有警告資訊;
8.偵錯程式gdb:
- gcc生成的可執行程式不可除錯,預設以release釋出;
- 需要除錯時,必須在生成二進位制程式的時候加上-g選項;
- 【gdb+可執行檔案】進入除錯;
9.gdb的使用:
- 【ctrl+d】/【quit】退出除錯;
- 【list/l】顯示原始碼;
- 【r/run】執行程式;
- 【n/next】單條執行;
- 【s/step】進入函式呼叫;
- 【b/break+n】在第n行設定斷點;
- 【info break】檢視斷點資訊;
- 【finish】執行到當前函式返回,然後停下來等待命令;
- 【print/p】打印表達式的值,通過表示式可以改變數的值或呼叫函式;
- 【p+變數】列印變數值;
- 【set var】改變變數的值;
- 【continue/c】從當前位置開始連續而非單步執行程式,即到達下一個斷點;
- 【delete breakpoints+n】刪除序號為n的斷點;
- 【disable breakpoints】禁用斷點;
- 【enable breakpoints】啟用斷點;
- 【display+變數名】跟蹤檢視一個變數,每次停下來都顯示它的值,即常顯示;
- 【undisplay】取消對先前的變數的跟蹤;
- 【until+X】跳至第X行;
- 【breaktrace/bt】檢視各級函式呼叫及引數;
- 【info/i locals】檢視當前棧幀區域性變數的值;
10.自動化構建工具make/makefile:
- make是一條命令,makefile是一個檔案,兩者搭配使用,完成自動化構建;
- makefile包含依賴關係和依賴方法,有依賴關係就必須有依賴方法,缺一不可;
- make生成檔案看修改時間;
- .PHONY修飾,偽目標總是被執行;
- 以下是一個簡單的makefile檔案:
test:test.o
gcc test.o -o test
test.o:test.s
gcc -c test.s -o test.o
test.s:test.i
gcc -S test.i -o test.s
test.i:test.c
gcc -E test.c -o test.i
.PHONY:clean
clean:
rm -f test.i test.s test.o test
11.yum
- 使用root使用者,用yum下載軟體包;
- 【yum install+軟體包】下載軟體;
- 【yum remove+軟體包】解除安裝軟體;
- 在/etc/yum.repos.d/目錄下可更新yum源,將CentOS-Base.repo裡的內容替換成你想要內容,可在網上去搜索相關yum源,替換後,【yum makecache】即可完成yum源的替換。