天天看點

資訊安全系統設計第二周實驗報告

linux下的C語言程式設計環境

資訊安全系統設計第二周實驗報告

 VIM是文本編輯器

       大寫“K”可以用來查找函數的幫助資訊:

     檢視 man page,指令模式下,将光标放在函數名上,按"K"可以直接察看 man page。

資訊安全系統設計第二周實驗報告

預處理階段:頭檔案和宏定義,—E可以讓gcc在預處理結束之後停止編譯過程,是以可以看到預處理的過程

一般格式為:gcc [選項] 要編譯的檔案 [選項] 目标檔案

        gcc -E hello.c -o hello.i

·編譯階段:gcc将代碼翻譯成彙編語言,使用選項-S隻進行編譯而不進行彙編,結果生成彙編代碼。

  gcc -S hello.i -o hello.s

彙編階段:将.s檔案轉成目标檔案,使用選項-c可以看到彙編代碼轉換為二進制目标代碼。

         gcc -c hello.s -o hello.o

連結階段:預設搜尋連結到libc.so.6函數庫當中,調用庫檔案中已經實作的函數。

    GCC:

  (1)預處理:gcc –E hello.c –o hello.i;gcc –E調用cpp

  (2)編 譯:gcc –S hello.i –o hello.s;gcc –S調用ccl

  (3)彙 編:gcc –c hello.s –o hello.o;gcc -c 調用as

  (4)鍊 接:gcc hello.o –o hello ;gcc -o 調用ld

建議使用CGDB,比GDB好用,熟悉VC的調試方式,可以使用DDD。 注意使用GCC編譯時要加“-g”參數。 參考gdb參考卡GDB最基本的指令有:

  • gdb programm(啟動GDB)
  • b 設斷點(要會設4種斷點:行斷點、函數斷點、條件斷點、臨時斷點)
  • run 開始運作程式
  • bt 列印函數調用堆棧
  • p 檢視變量值
  • c 從目前斷點繼續運作到下一個斷點
  • n 單步運作
  • s 單步運作
  • quit 退出GDB
資訊安全系統設計第二周實驗報告
資訊安全系統設計第二周實驗報告
資訊安全系統設計第二周實驗報告
資訊安全系統設計第二周實驗報告
資訊安全系統設計第二周實驗報告
資訊安全系統設計第二周實驗報告