標籤:
學習時間:6小時
一·學習任務
1.在終端輸入vimtutor進入教程,學習vim的基本操作
2.使用gcc,gdb編譯.c檔案
3.學會使用Makefile,將多個檔案放在一個檔案夾中
二·學習方法
在本周實驗中,學習使用了與Linux類似的mac os,在air上使用十分方便,通過學習實驗樓及PDF上的書上第三章的知識對本周內容進行學習。
三·學習過程
1.關於vim的基本操作
在終端中輸入vimtutor進入教程。在教程中學會使用了一些基本指令,如開啟一個新檔案之後按下i鍵就可以輸入文本,按esc退出某模式,然後輸入:,之後輸入wq就可以儲存退出。之後還有一些常用的,如ls顯示檔案目錄,在正常模式下按下x鍵就可以刪除游標對應的文本等。
2.使用gcc進行編譯
在編譯之前,首先輸入vim 檔案名稱+尾碼名,就可以建立對應檔案(比如我要建立hello.c,只要輸入vim hello.c),然後進入後就可以利用vim中教的方式輸入代碼。輸入完代碼後,輸入gcc指令,它可以直接把.c檔案變為.o檔案,其實在這過程中有.i尾碼名的檔案,編譯完後都用vim查看一下,結果如下:
圖:輸入gcc指令進行編譯
圖:.i檔案中的內容
圖:.o檔案中的內容
圖:正常編譯檔案hello.c的結果
3.使用gdb進行調試
gdb作為一款用來偵錯工具的程式,但是在mac os中並沒有,於是在網上搜尋進行了安裝,依然是在終端中輸入指令,安裝成功後因為mac系統的保護,需要進行認證,在網上搜尋了一下,認證寫好後還無法認證,還在處理之中,不過一些指令還可以使用,在作業中有一些。
gdb中的一些常用指令:(1)break 6(6即設定斷點的行號); (2)info break(查看斷點資訊)
(3)r(運行程式) (4)n(單步運行)
(5)p i(列印變數i的值) (6)c(繼續運行程式)
4.學習使用Makefile
makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至進行更複雜的功能操作。
在vim中編譯,最後的那個“clean:”就是用來 make clean去執行rm -f *.o test這條命令,完成 clean 操作。
在最後的作業中,運行出現了些問題,在作業中詳細說明。
5.作業
(1)首先vim寫入對應的檔案,之後使用gcc編譯,然後在終端中運行。
(2)使用gdb進行調試
在嘗試了其他多組資料之後發現,無論資料怎麼變換,除法的輸出結果均為0.因為電腦的gdb存在一些問題,只可以運行一些指令,結果如下:
圖:進入gdb後輸入l,查看代碼及行數
在中,只設定了斷點並查看了斷點資訊,輸入運行和單步運行時均出現錯誤,仍在學習調試中。
(3)設定靜態庫和動態庫
安裝PDF指導書上的知識,輸入對應指令即可完成。
圖:靜態庫
圖:動態庫
(4)使用Makefile
安裝指導書上的進行vim編譯,結果如下:
但是輸入make指令後,提示錯誤,查看之後未發現問題,還在嘗試解決中。
四·學習總結
經過本周的學習,對於在mac os中通過終端完成代碼的編譯有了更深的瞭解。vim的學習讓我從當初建立檔案之後的不知所措,到現在可以編譯多個檔案組成的程式,並進行調試和靜態庫的建立。通過學習,對蘋果內建的系統編寫代碼有了深入瞭解,終於不像以前一樣讓另一個系統閑置了。
第二周學習內容小結