常用開發工具
目前,linux系統主要為使用者提供gcc、gdb、 make、cvs、perl等常用開發工具。
檔名字尾
◦.c c原始檔
◦.i 預處理後的原始檔
◦.s 匯程式設計序檔案
◦.o 目標檔案
gcc編譯系統
四個步驟:
預處理階段 編譯階段 彙編過程 連線階段
過程c c原始檔
預處理階段
◦.i 預處理後的原始檔
編譯階段
◦.s 匯程式設計序檔案
彙編過程
連線階段
◦.o 目標檔案、
階段一:預處理階段
◦預處理是常規編譯之前預先進行的工作。 ◦讀取c語言原始檔,對其中以「#」開頭的指令 (偽指令)和特殊符號進行處理。
注釋檔案包含
巨集定義條件編譯指令
◦gcc–e test.c–o test.i
階段二:編譯階段 ◦編譯程式(compiler)對預處理之後的輸出文 件進行詞法分析和語法分析,試圖找出所有不 符合語法規則的部分。
◦gcc–s test.c–o test.s
階段三:彙編過程 ◦彙編過程是匯程式設計序(assembler)把彙編語 言**翻譯成目標機器**的過程。 ◦gcc–c test.c–o test.o
階段四:連線階段 ◦連線程式(linker)要解決外部符號訪問位址 問題。也就是將乙個檔案中引用的符號(如變 量或函式呼叫)與該符號在另外乙個檔案中的 定義連線起來,從而使有關的目標檔案連成一 個整體,最終成為可被作業系統執行的可執行 檔案。 ◦gcc–o test test.c
gdb程式除錯工具
程式中的錯誤可按性質分為三種:
(1)編譯錯誤,即語法錯誤。 (2)執行錯誤。 (3)邏輯錯誤。
◦斷點(breakpoint
(1)設定斷點:用break命令(縮寫為b)
break linenum
2)顯示斷點
info breakpoints [num]
info break [num]
(3)刪除斷點 delete [num]
程式維護工具make
C Primer 複習雜記(第五章)
命名的強制型別轉換符號的一般形式如下 cast name expression 其中,cast name為以下中的四種操作符之一,type是轉換的目標型別,而expression是被強制轉換的值,返回為轉換後的結果。平時使用的編譯器隱式執行的任何型別轉換都可以通過static cast執行。示例 d...
矩陣第五章複習總結
目標 學習矩陣序列的收斂性 矩陣函式的計算 相似對角化法 jordan標準形 數項級數法 其實,關於這一單元我們學習的知識點也不是很多,考試的時候只是乙個題型。一 矩陣序列與矩陣級數 矩陣序列的線性性 即齊次性 可逆性 收斂性 通過矩陣序列與極限的範數趨近於0判斷 a為收斂矩陣的充要條件是譜半徑 1...
微機複習 第五章 匯流排
匯流排概述 1 匯流排型別 晶元級匯流排 連線模組內晶元級的互聯,如連線cpu及其周邊的協處理器。系統匯流排 連線計算機內部各模組的一條主幹線。區域性匯流排 連線cpu與高速外設。外部匯流排 連線計算機與外部裝置。2 匯流排寬度 指一次可以傳輸的資料位數。3 匯流排頻率 指匯流排每秒內能傳輸資料的次...