預處理 編譯 彙編 鏈結 執行

2021-09-22 01:56:58 字數 442 閱讀 7170

步驟

所進行的內容

生成的檔案

預處理展開標頭檔案/巨集替換/去掉注釋/條件編譯

test.i main .i

編譯檢查語法,生成彙編

test.s main .s

彙編彙編**轉換機器碼

目標檔案 test.o main.o

鏈結鏈結到一起生成可執行程式

可執行檔案 a.out

巨集優點

缺點

靜態鏈結

動態鏈結

靜態庫和應用程式編譯在一起,在任何情況下都能執行,而動態庫是動態鏈結,檔案生效時才會呼叫。

[1]

預處理 編譯 連線 執行

1.預處理階段 編譯器以c檔案作為乙個單元,首先讀這個c檔案,發現第一句與第二句是包含乙個標頭檔案,就會在所有搜尋路徑中尋找這兩個檔案,找到之後,就會將相應標頭檔案中再去處理巨集,變數,函式宣告,巢狀的標頭檔案包含等,檢測依賴關係,進行巨集替換,看是否有重複定義與宣告的情況發生,最後將那些檔案中所有...

預處理 編譯 彙編 鏈結

1.預處理 預處理器 預處理階段主要處理 include 和 define 它把 include包含進來的 h 檔案插入到 include 所在的位置,把源程式中使用到的用 define 定義的巨集用實際的字串代替。2.編譯階段 編譯器 在這個階段,編譯器先要檢查 的規範性和語法錯誤等,以確定 的實...

編譯鏈結執行原理 編譯鏈結執行過程

乙個.c cpp源程式檔案要最後變成.exe windows 或者.out linux 可執行檔案,要經過編譯和鏈結過程。四個步驟 預編譯,編譯,彙編,連線 一 預編譯 處理以 開頭的預編譯指令,比如 include,define等,規則如下 1 刪除所有的 define,並展開所有的巨集替換 文字...