七月十三日 Linux作業系統c語言學習筆記

2021-07-03 19:10:49 字數 1244 閱讀 8983

應該養成的習慣:新增必要的注釋,**要有一定的版式。

本次主要講了

學到的新的指令:

(1),objdump 專門用來檢視檔案的二進位制 如  objdump –d a.out

(2),chmod 改變某乙個檔案的許可權,分三種許可權 r,w,x 如 chmod a-x./prog

a:全部都修改   u:表示本人修改(user) g:使用者組修改(group) o:其他人修改(other)

(3),-g加入除錯資訊 如: gcc main.c  –o a.out –g

(4),gdb偵錯程式 動態除錯程式,在執行過程中讓程式停下來檢查後在執行如:gdb a.out

(5)gdb命令:

list 檢視源**資訊,預設一次檢視十行

list +行數  列出該行附近的源**

run

執行指令

在停止後輸入該命令程式會詢問是否從頭開始執行,如果是

n則程式不執行,如果為

y則從頭開始執行到斷點時停止。如圖:

b 斷點(讓程式執行到某一點前停下來叫斷點)如 b 13在執行到13行前即12行時停下

重點:設定斷點是要從開始執行處開始設定,比如第三行是定義變數,但並沒有賦值,而是從第四行開始賦值,則系統預設的賦值從低四行開始,如圖:

c

繼續執行,一直到下乙個斷點或直到退出

n 執行下乙個語句   quit或q 退出gdb 模式。

x 用來檢視記憶體如如: x/16xb &a  顯示在a位址處的連續16個位址單元。16表示顯示的數量;

b表示單位有b 乙個位元組 h兩個位元組 w四個位元組 g 八個位元組;

x約定每個單元的顯示方法有x為十六進製制 o為八進位制 d為十進位制 u為無符號十進位制 f為浮點數 c為字元方式顯示 t為二進位制。

(6),makdir 建立目錄。

(7),touch建立工程。

(8),rm  這裡要注意的是其無法刪除目錄,只可以刪除工程。rm –r 刪除目錄   rm –r –f 在獲取root許可權後可以刪除根目錄。

(9),gcc *.c 用gcc編譯當前目錄下所有的.c檔案  且編譯到一處。

提出問題:當有呼叫函式時,應該怎麼進入偵錯程式了?

七月十六日 Linux作業系統c語言學習筆記

七月十六日 對陣列名取位址,位址值不變,但是型別變為指向整個陣列的位址。兩個相同型別的指標相減 位址之間相隔元素個數。堆 作業系統管理的空閒空間。函式內部定義的變數預設存在棧 動態 被用完就不見了被 遵守先進後出,後進先出的原則。auto 定義處到函式結尾,區域性作用域,沒有初始化,為隨機值。全域性...

七月二十四日 Linux作業系統c語言學習筆記

系統對記憶體的限制 32位作業系統對程式理論上分配4g空間,64則是16g空間。棧 可讀可寫rw,執行時申請記憶體,在所定義的空間括號結束後會自動被os 一般用於區域性變數。堆 可讀可寫rw,執行時申請 malloc 手動 free 如果沒有釋放則可能會照成記憶體洩露。記憶體洩露 在用完後沒有釋放該...

Linux作業系統命令學習第七天

vi與vim編輯器的區別 1 vim支援多級撤銷 2 vim支援語法高亮 3 vim可以跨平台執行 4 vim支援圖形介面 vim命令 df 檢視磁碟分割槽使用情況 l 僅顯示本地磁碟 預設 a 顯示所有檔案系統的磁碟使用情況 h 以1024進製計算最合適的單位顯示磁碟容量 t 顯示磁碟分割槽型別 ...