GCC編譯流程

2021-09-24 15:06:45 字數 375 閱讀 3462

gcc使用的基本語法為:gcc [option | filename]

這裡option是gcc使用時的一些選項,可以通過指定不同的選項實現不同的功能。這裡的filename是gcc要編譯的檔案,gcc會根據使用者指定的編譯選項以及所識別的檔案字尾名來對編譯檔案進行響應的處理。

1,預處理階段

預處理功能分為三種:巨集定義,檔案包含和條件編譯

其中預處理階段便是將巨集定義、檔案包含和條件編譯的內容插入到要編譯的檔案中去

2,編譯階段

會檢查我們的c**是否有語法錯誤,通過之後將c**轉換成彙編**

3,彙編階段

將彙編**轉換成目標檔案

4,鏈結階段

鏈結我們所需要的庫檔案,生成可以執行的**。

gcc編譯流程

可以利用gcc的引數來控制執行的過程,這樣就可以更深入的了解編譯c程式的過程。下面將通過對乙個程式的編譯來演示整個過程。includeint main 1 預處理 編譯器將c程式的標頭檔案編譯進來,還有巨集的替換,可以用gcc的引數 e來參看。命令 gcc e hello.c o hello.i 作...

gcc編譯流程

步驟命令 說明預處理 gcc e hello.c o hello.i 1.將所有 define刪除,並且展開所有的巨集定義 2.處理所有的條件預編譯指令,如 if ifdef undef ifndef endif elif 3.處理 include,將包含的檔案插入到此處,這是乙個遞迴的過程 4.刪...

gcc編譯流程

1 預處理 處理原始檔中以 開頭的語句。如標頭檔案 巨集定義等語句進行處理,c檔案生成.i檔案。1 巨集定義的目的為了提高 的可讀性,此時對巨集定義進行原樣替換。2 在標頭檔案中主要包含函式的宣告 結構體的宣告等。宣告的目的是為了告訴編譯器做語法檢查,防 止呼叫時出現錯誤。此時在預處理的作用是把頭檔...