C程式的編譯過程

2022-08-31 13:36:07 字數 627 閱讀 5432

c程式的編譯過程

下面乙個簡單的例子:

#include //將標準庫標頭檔案拷貝

int main(void)

預處理:

把程式設計師寫的源**,進行"預加工":

1) 把#include包含的檔案內容拷貝到這裡

2) 把巨集替換成對應的內容

3) 其他預處理

預處理以後得到的還是源程式

編譯:

把預處理以後的源程式, 加工成「匯程式設計序」

匯程式設計序,是使用「組合語言」編寫的程式

組合語言,是一種「低階語言」,直接控制計算機的cpu,記憶體等。

彙編:

把匯程式設計序,加工成二進位制程式。

二進位制程式,全部由0和1組,是計算機閱讀的程式。

把二進位制程式,和所需的「庫檔案」,「組合加工」成計算機可以直接執行的檔案。

C程式的編譯過程

編譯,編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並且按照作業系統對可執行檔案格式的要求鏈結生成可執行程式。c源程式標頭檔案 預編譯處理 cpp 編譯程式本身 優化程式 匯程式設計序 鏈結程式 可執行檔案 1.編譯預處理 ...

C程式編譯過程

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

C 程式編譯過程

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