vim是從 vi 發展出來的乙個文字編輯器。**補全、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用,和emacs並列成為類unix系統使用者最喜歡的文字編輯器。
vim和emacs對比:
vim優點:
編輯快速,按鍵更簡潔。
vim缺點:
需要不停地切換模式;
外掛程式環境混亂。
emacs優點:
emacs其實是個lisp的直譯器,因此可以用lisp靈活地擴充套件。而lisp是種很有生命力的程式語言。所以emacs不再限於寫程式,有句誇張的話說:emacs是偽裝成編輯器的作業系統。
emacs缺點:
啟動時間慢。
gcc是一款編譯器,gcc將高階語言編譯成機器可以識別的語言 (gcc預設鏈結方式是動態鏈結)
gcc常用選項
-e 只進行預處理
-s 只進行編譯
-c 只進行彙編
-o 用於指定生產的檔名稱
-static 靜態鏈結
gcc操作
!gcc 執行最近一次gcc操作
除了gcc外還有如msvc,clang,ibm xl c/c++等等同樣優秀的編譯器。
gdb是一款偵錯程式, 除錯程式的執行過程即除錯bug。
為什麼除錯的時候需要編譯選項中新增 -g?
使用gdb除錯時,需要向程式中加入除錯符號資訊,這是程式除錯前提。而gcc預設生成的是release發布版程式,可執行程式中沒有加入除錯符號資訊。所以新增-g選項生成debug版可執行程式。
gdb除錯步驟:
0.向程式中加入除錯符號資訊(程式除錯前提)
gcc預設生成的是release發布版程式,可執行程式中沒有加入除錯符號資訊
gcc -g 生成debug版可執行程式
1.引導程式 gdb ./main
2.開始除錯
run/r 直接執行程式
start 開始逐步除錯
3.常見操作
-list 檢視**
用法: list file:line
-n 下一步 不跟蹤進入函式,直接將函式執行完畢
-s 下一步 跟蹤進入函式
-until 直接執行到指定行
用法:until file:line
4.斷點相關
-break/b 打斷點
用法:b file:line / break function_name (給函式打斷點)
-info 檢視除錯資訊
用法:info break
-print/p 檢視變數內容
print var
-continue 繼續執行
-delete 刪除斷點
用法:delete break_id
-watch 變數監控,當變數內容改變時,停下
用法:watch var(變數名稱)
5.檢視呼叫棧資訊
backtrace/bt:檢視函式呼叫棧資訊—快速定位程式崩潰位置
makefile:普通文字檔案,但是不普通的是makefile中記錄的是專案構建流程規則
make:乙個程式—makefile的直譯器;解釋makefile中的專案構建規則;完成專案的構建;
在當前目錄下敲擊make命令,make程式到當前目錄下找makefile檔案,逐行解釋
makefile檔名稱大小寫不敏感
makefile基本編寫規則:
目標物件:[依賴物件]
tab鍵 要執行的命令
make解釋規則:
make開啟makefile檔案,在makefile中尋找第乙個目標物件名稱
-沒有找到:認為沒有要生成的物件,報錯退出
-找到了:接下來判斷目標物件檔案是否存在
-目標物件檔案存在:判斷是否有依賴物件名稱
-沒有依賴物件名稱:認為目標物件已生成,不需要重新執行命令生成
-有依賴物件名稱:判斷依賴物件檔案是否存在
-存在:判斷目標物件檔案與依賴物件檔案時間關係
-不存在:在makefile繼續向下查詢依賴物件生成規則,依賴物件在下一條規則中作為目標物件被生成,進而生成第乙個目標物件後退出
-目標物件檔案不存在:直接執行命令生成
makefile預定義變數:$@ $< $^
$@:目標物件
$<:依賴物件當中的第乙個
$^:所有的依賴物件
偽物件:不管物件是否最新,是否存在,每次都需要為物件執行生成命令
宣告偽物件: .phony:物件名稱
linux 常用工具
我們經常需要長時間地坐在電腦前做一項具體的工作只為能夠優化工作流程。這包括選擇和配置能讓你最高效工作的工具。從長遠來看,簡單易學的工具並不總是好的,那些能夠充分個性化並無縫地融入獨 作流程的工具才是真正的好工具。在這篇文章中,我想向大家介紹5款免費又開源的工具,而且它們在我的軟體開發生涯中發揮了很重...
linux常用工具
linux常用工具 1.vim編輯器 vim的三種模式 1.命令 vim開啟檔案就是命令模式 1.1.可以移動游標 1.2.x 刪除字元 nx 刪除n個字元 dd 刪除一行 ndd 刪除n行 p 貼上 np 貼上n行 yy 複製一行 nyy 複製n行 gg 回到第一行 shift g 跳到 最後一行...
Linux常用工具
一 vim編輯器 基本模式 1 命令列模式。控制螢幕游標的移動,字元 字或行的刪除。2 插入模式。再插入模式下可以輸入文字,按 esc 鍵可以返回命令列模式。3 底行模式。將檔案儲存或者退出vim,也可以設定編輯環境。模式轉換方法 在命令列模式下按 a 或 i 可進入插入模式,按 可進入底行模式 插...