1. 程式人生 > >Linux下的開發工具:vim,gcc,gdb,makefile以及yum語句安裝軟體

Linux下的開發工具:vim,gcc,gdb,makefile以及yum語句安裝軟體

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命令模式命令集:

  1. 【i】進入插入模式,游標即當前位置,開始輸入檔案內容;
  2. 【a】進入插入模式,從游標所在位置的下一個位置開始輸入檔案內容;
  3. 【o】進入插入模式,插入新的一行,從行首開始輸入檔案內容;
  4. 【h】【j】【k】【l】分別控制游標左、下、上、右;
  5. 【G】游標移至文章末尾;
  6. 【$】游標移至所在行的行尾;
  7. 【^】游標移至所在行的行首;
  8. 【w】游標移至下個字的開頭;
  9. 【e】游標移至下個字的字尾;
  10. 【b】游標移至上個字的開頭;
  11. 【gg】游標移至文字開始;
  12. 【x】刪除游標所在位置的一個字元;
  13. 【X】刪除游標所在位置前一位置的一個字元;
  14. 【#x】刪除游標所在位置的後面#個字元;
  15. 【#X】刪除游標所在位置的前面#個字元;
  16. 【dd】刪除游標所在行/剪下;
  17. 【#dd】刪除從游標所在行開始#行;
  18. 【yw】將游標所在之處到字尾的字元複製到緩衝區中;
  19. 【yy】將游標所在行復制到緩衝區中;
  20. 【p】貼上到游標處;
  21. 【u】撤銷;
  22. 【r】替換游標所在之處的字元;
  23. 【R】替換游標所到之處的字元,直到【esc】為止;
  24. 【ctrl+r】撤銷恢復;
  25. 【cw】更改游標所在之處的字元至字尾;
  26. 【#G】移動游標至第#行行首;

4.底行模式命令集:

  1. esc+:】進入末行模式;
  2. 【set nu】列出行號;
  3. 【#】游標跳至第#行行首;
  4. 【/關鍵字】從游標處向下查詢關鍵字直到找到為止;
  5. 【?關鍵字】從游標處向上查詢關鍵字直到找到為止;
  6. 【w】儲存檔案;
  7. 【q】退出檔案;
  8. 【wq】儲存並退出檔案;
  9. 【q!】強制退出檔案;

5.vim的配置:

參考如下:https://mp.csdn.net/postedit/83015344

6.編譯器gcc/g++:

  1. 預處理(巨集替換)gcc -E test.c -o test.i
  2. 編譯(生成彙編)gcc -S test.i -o test.s
  3. 彙編(生成機器可識別程式碼)gcc -c test.s -o test.o
  4. 連線(生成可執行檔案或庫檔案)gcc test.o -o test

7.gcc的使用:

  1. 【gcc -static】對生成的檔案採用靜態連線;(動態連結:進入庫函式呼叫並返回;靜態連結:直接拷貝原始碼並使用)
  2. 【gcc -g】生成除錯資訊;
  3. 【gcc -w】不生成任何警告資訊;
  4. 【gcc -W】生成所有警告資訊;

8.偵錯程式gdb:

  1. gcc生成的可執行程式不可除錯,預設以release釋出;
  2. 需要除錯時,必須在生成二進位制程式的時候加上-g選項;
  3. 【gdb+可執行檔案】進入除錯;

9.gdb的使用:

 

  1. 【ctrl+d】/【quit】退出除錯;
  2. 【list/l】顯示原始碼;
  3. 【r/run】執行程式;
  4. 【n/next】單條執行;
  5. 【s/step】進入函式呼叫;
  6. 【b/break+n】在第n行設定斷點;
  7. 【info break】檢視斷點資訊;
  8. 【finish】執行到當前函式返回,然後停下來等待命令;
  9. 【print/p】打印表達式的值,通過表示式可以改變數的值或呼叫函式;
  10. 【p+變數】列印變數值;
  11. 【set var】改變變數的值;
  12. 【continue/c】從當前位置開始連續而非單步執行程式,即到達下一個斷點;
  13. 【delete breakpoints+n】刪除序號為n的斷點;
  14. 【disable breakpoints】禁用斷點;
  15. 【enable breakpoints】啟用斷點;
  16. 【display+變數名】跟蹤檢視一個變數,每次停下來都顯示它的值,即常顯示;
  17. 【undisplay】取消對先前的變數的跟蹤;
  18. 【until+X】跳至第X行;
  19. 【breaktrace/bt】檢視各級函式呼叫及引數;
  20. 【info/i locals】檢視當前棧幀區域性變數的值;

10.自動化構建工具make/makefile:

  1. make是一條命令,makefile是一個檔案,兩者搭配使用,完成自動化構建;
  2. makefile包含依賴關係和依賴方法,有依賴關係就必須有依賴方法,缺一不可;
  3. make生成檔案看修改時間;
  4. .PHONY修飾,偽目標總是被執行;
  5. 以下是一個簡單的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

  1. 使用root使用者,用yum下載軟體包;
  2. 【yum install+軟體包】下載軟體;
  3. 【yum remove+軟體包】解除安裝軟體;
  4. 在/etc/yum.repos.d/目錄下可更新yum源,將CentOS-Base.repo裡的內容替換成你想要內容,可在網上去搜索相關yum源,替換後,【yum makecache】即可完成yum源的替換。