gcc編譯器的使用方法


一、gcc編譯流程

GCC編譯器在編譯一份C代碼的時候,需要經過以下4個步驟:

    預處理(preprocessing):對 .c 源文件進行預處理,生成 .i 文件。
    編譯(compilation):對 .i 文件進行編譯,生成 .s 匯編文件。
    匯編(assembly):對 .s 文件進行匯編,生成 .o 目標文件。
    鏈接(linking):對 .o 文件進行鏈接,生成可執行文件。

二、gcc命令使用

 2.1 gcc命令格式定義

       

  2.2 gcc命令常用參數

  2.2.1 基本參數

  
-E:僅對源文件進行預處理,不進行編譯。結果直接輸出到顯示屏。

      

  
-S:對源文件進行預處理、編譯,不進行匯編。結果以 .s 文件形式保存,與 .c 源文件同名。

      

  
-c:對源文件進行預處理、編譯、匯編,不進行鏈接。結果以 .o 文件形式保存,與 .c 源文件同名。
        
  
-save-temps:保存編譯過程中所產生的所有中間文件。中間文件名與 .c 源文件同名,后綴為 .i 、.s、.o
        

        
  2.2.2 調試參數

  
-o:將任何類型的輸出都存放至指定的文件中。

      
  
-Wall:打開編譯器的警告標志,盡可能多的輸出警告信息。強烈建議,編譯時始終帶上 -Wall 選項。
        
  
-Werror:將所有的警告當成錯誤處理,必須消除警告才能繼續編譯。
        
 2.2.3 函數庫參數

  
-llibrary:手動指定函數庫library參與鏈接。庫名為library,文件名為liblibrary.a或liblibrary.so

  -Ldir:手動添加一個路徑dir,用以搜索庫文件(.a 或 .so 文件,即手動指定的函數庫文件的所在目錄)。

  -Idir:手動添加一個路徑dir,用以搜索頭文件(.h 文件,即源碼內#include要包含的文件的所在目錄)。

      

        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM