第二周學習內容小結

來源:互聯網
上載者:User

標籤:

學習時間: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的學習讓我從當初建立檔案之後的不知所措,到現在可以編譯多個檔案組成的程式,並進行調試和靜態庫的建立。通過學習,對蘋果內建的系統編寫代碼有了深入瞭解,終於不像以前一樣讓另一個系統閑置了。

第二周學習內容小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.