4步實現gcc編譯

2022-08-23 12:00:14 字數 667 閱讀 3780

編譯 (hello.i->hello.s)

gcc  -s

彙編 (hello.s->hello.o)

gcc -c

鏈結 (hello.o->a.out)

引數作用

案例-i

大寫的i,可以指定標頭檔案路徑

gcc -i ./inc hello.c -o hello

-o小寫的o,可以將檔案直接編譯成可以執行檔案.exe/.out

gcc hello.c -o hello.out

-c小寫的c,只做預處理,編譯,彙編,編譯成.o的檔案的二進位制檔案

gcc hello.c -c

-g小寫的g,編譯的時候新增除錯檔案

gcc hello.c -o hello -g

-on大寫的o,進行優化需要跟上優化的數值,比如o1,o2,o3,預設是2級,範圍是0-3,n的範圍越大優化越好

gcc hello.c -o hello -o3

-wall

wall,可以提示更多的警告

gcc hello.c -o hello -wall

-d在編譯的時候可以指定巨集執行,動態註冊巨集

gcc hello.c -d hello

GCC編譯過程的4個階段

在使用gcc編譯程式時,其編譯過程可以分為4個階段 預處理 pre processing 編譯 compling 彙編 assembling 連線 linking 程式設計師完全可以根據自己的需要讓gcc在編譯的任何乙個階段結束,檢查活使用編譯起在該階段輸出的資訊,或者對其生成的二進位制檔案進行控制...

gcc編譯過程

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

gcc編譯過程

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