C和C 程式的編譯過程

2021-09-02 15:20:58 字數 421 閱讀 5248

原始檔預處理

編譯彙編

鏈結可執行檔案

.c/c.pp/.h

.c/.cpp/.h -> .i

.i -> .s

.s -> .o

.o/.lib -> .exe

.exe

1.預處理(這裡檔案一般都會變大,因為加入個我們包含頭的那些庫)

刪除#define這些巨集定義,展開巨集定義;處理條件編譯;處理#include於編譯指令;生成行號,去掉注釋;保留所有的 #pragma編譯指令;

2.編譯

預處理完的檔案,進行語法檢查,語義和詞義的分析以及優化以後生成彙編檔案。

3.彙編

彙編**生成機器識別的機器指令。

4.鏈結

多個目標和庫檔案整合在一起最後生成可執行檔案。

如有錯誤,望指正。

C程式編譯過程

題記 前幾天去華為面試實習生,面試官問了個問題,讓我說出乙個程式的詳細編譯過程,當時磕磕絆絆說了一堆東西,事後自己都不知道當時說了什麼,慚愧。c語言編譯過程 編譯,編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並且按照作業系...

C 程式編譯過程

首先是編譯過程整體簡介 編譯過程主要分為 4個過程 1 編譯預處理 預編譯程式完成的工作,可以說成是對源程式的 替換 工作。經過這個過程,生成乙個沒有巨集定義 沒有條件編譯指令 沒有特殊符號的輸出檔案。2 編譯 優化階段 通過詞法分析 語法分析,在確認所有的指令都符合語法規則之後,將其翻譯成等價的中...

C程式編譯過程

gcc編譯c 會有四個階段 預處理 將c 中的標頭檔案和巨集進行處理 彙編 把彙編 轉化成機器指令,並以特定的二進位制格式輸出儲存在 o這樣的目標檔案中 流程圖 參考閱讀 3.c程式分析 gcc e hello.c o hello.i 預處理 gcc s hello.i o hello.s 編譯 g...