第四次課程

2021-10-04 07:48:27 字數 1706 閱讀 3283

偵錯程式:gdb

gun計畫的工具;核心除錯kgdb

程式的錯誤分類:編譯時錯誤:語法錯誤 執行時錯誤:記憶體問題,邏輯問題

gdb的功能:1.執行程式;2.設定斷點;3.檢視變數的值

hello.c gcc -g hello.c -o hello gdb hello

使用–tui:

layout asm

layout src

layout split

runfinish

continue(結束當前斷點,繼續往下執行,直到遇到下乙個)

break + 行號

break + 函式名

break + 行號if條件

info break;(檢視斷點資訊)

delete + 斷點編號

enable + 斷點

disable + 斷點編號

單步執行:

step(可進入子函式)

next(不可進入子函式)

工程管理器:make — 如何編寫makefile檔案?

1、 工程管理器:編譯很個檔案(型別不同、存放不同目錄、資源檔案使用)組成的軟體**結構 —實現自動編譯(根據makefile檔案內容進行)

makefile「自動編譯「:

1. 根據makefile檔案的內容進行自動編譯

2. 根據檔案的時間戳來判斷檔案是否需要編譯

單個.c — gcc hello.c -o hello

10000個.c(分別儲存在100個不同目錄) – gcc *.c -o hello

make —makefile(make讀取makefile裡內容)

如何編寫makefile檔案?

1 makefile是個指令碼檔案(批處理)

2 makefile語法:目標、依賴、命令

目標:依賴

按下tab 再鍵入命令

執行命令,依賴這個檔案,最終生成目標;

3 makefile執行順序:自上向下,當你的目標依賴的檔案又是乙個目標時,會先跳轉到該目標去執行相關命令

make+目標名:從該目標開始自上向下執行;

4 偽目標:執行命令,不生成對應的檔案;

.phony:clean install

echo在終端上?

make -f makefile指定後面的編譯?

./cal

功能目錄管理軟體**

makefile:

1、 總控makefile

進入各個功能目錄執行make,並將所有.o檔案鏈結生成可執行檔案(再看)

2、功能目錄makefile

將功能目錄下的原始檔編譯生成目標檔案.o(最後看)

3、scripts目錄標頭檔案makefile

定義變數,供其他makefile使用(閱讀makefile順序:先看)

為什麼將.c檔案先編譯生成.o檔案,再由.o檔案生成可執行檔案?

前提:原始檔到可執行檔案:預處理、編譯、彙編、鏈結

gcc hello.c -o hello 4s

cal:main

鏈結 1s

gcc hello.c -0 hello 4s

cal:main.c add.c sub.c div.c mul.c

gcc *.c -0 cal

假設修改了add.c — make: 20s假設修改了add.c — make:(.c -->.0) 第一次:20s,第二次:4s+4s=8s。

第四次課程作業

可以劃分為兩個類,乙個是計算類,乙個是生成類。生成類 計算類 生成類生成算式傳遞給計算類計算。生成類中的classone以及classtwo給計算類傳送訊息。生成類持有計算類的引用。之前的演算法很暴力,就是已經知道算式的型別就直接計算了,前幾天樂忠豪同學跟我提及了字尾表示式計算算式,搜尋了下,獲益良...

第四次作業

扎ogu 典型產品 最高傳輸速率 ieee 802.11a wi fi5 802.11a 43m 450 zyxel p334u 54mbps 1500 zyxel p335u 54mbps 1600 ieee 802.11b d link di 624 a 54mbps 215 linksys w...

第四次作業

作業題一 vs2012 rc在介面上,比beta版更容易使用,彩色的圖示和按照開發 執行 除錯等環境區分的顏色方案讓人愛不釋手。vs2012整合了asp.net mvc 4,全面支援移動和html5,wf 4.5相比wf 4,更加成熟,期待已久的狀態極工作流回來了,更棒的是,現在它的設計器已經支援c...