gcc編譯過程

2021-07-24 22:47:03 字數 729 閱讀 3554

/******************************gcc編譯與除錯******************************/

c程式#include         //包含標頭檔案,stdio.h  標準輸入輸出標頭檔案

//< > 表示這個標頭檔案是系統提供的,"*.h" 表示自己寫的標頭檔案

int main(void)                     //int代表main函式返回值為整形,main 是c程式的入口,乙個專案中有且只有乙個main函式

gcc(gnu compiler)是gnu推出的多平台編譯器,可將c、c++源程式編譯連線程可執行檔案,支援以下字尾:

1) .c        c語言源**

2).h        程式所包含的標頭檔案

3).i        已經預處理過的c源**檔案

4) .s        組合語言源**檔案

5) .o        編譯後的目標檔案

gcc編譯過程:

1--- 預處理:主要進行巨集替換以及標頭檔案的包含展開

gcc -e hello.c -o hello.i

2--- 編譯:編譯生成彙編檔案,會檢查語法是否有錯誤

gcc -s hello.i -o hello.s

3--- 彙編:將彙編檔案編譯生成目標檔案(二進位制檔案)

gcc -c hello.s -o hello.o

./hello    檢視輸出結果

gcc編譯過程

本文對gcc編譯器如何工作做乙個概要描述.更為詳細的資訊請參考編譯器手冊。當我們進行編譯的時候,要使用一系列的工具,我們稱之為工具鏈.其中包括 預處理器cpp,編譯器前端gcc g 彙編器as,聯結器ld.乙個編譯過程包括下面幾個階段 1 預處理。預處理器cpp將對原始檔中的巨集進行展開。2 編譯。...

gcc編譯過程

當我們進行編譯的時候,要使用一系列的工具,我們稱之為工具鏈.其中包括 預處理器cpp,編譯器前端gcc g 彙編器as,聯結器ld.乙個編譯過程包括下面幾個階段 1 預處理。預處理器cpp將對原始檔中的巨集進行展開。2 編譯。gcc將c檔案編譯成彙編檔案。3 彙編。as將彙編檔案編譯成機器碼。4 連...

GCC編譯過程

第一步 預處理後結束 引數 e gcc e hello.c o hello.i 檢視hello.i檔案中的內容 cat hello.i stdio.h的內容插入到檔案裡去了,巨集定義也在預處理中都做了相應的處理 第二步 將hello.i 編譯為 目標 引數 c gcc c hello.i o hel...