日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

gcc 编译过程

發布時間:2025/4/5 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gcc 编译过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gcc編譯

分步處理

  • 一、預處理
  • 二、編譯
  • 三、匯編
  • 四、鏈接
  • 一步到位
  • 多模塊編譯
  • 一次性編譯:
  • 獨立編譯:
  • C源文件到可執行文件共經歷了4個過程。在使用GCC編譯程序時,編譯過程可以被細分為四個階段,包括預處理、編譯、匯編、鏈接。

    分步處理
    一、預處理
    在預處理階段,編譯器主要作加載頭文件、宏替換、條件編譯的作用。一般處理帶“#”的語句。

    我們可以通過gcc -E 選項進行查看,如下所示:

    gcc -E main.c > main.i

    編譯器將main.c預處理結果輸出 main.i 文件。

    二、編譯
    在編譯過程中,編譯器主要作語法檢查和詞法分析。在確認所有指令都符合語法規則之后,將其翻譯成等價的中間代碼或者是匯編代碼。

    gcc -S main.i -o main.s

    編譯器將預處理結果文件main.i翻譯成匯編代碼main.s

    三、匯編
    匯編階段是把編譯階段生成的”.s”文件轉成二進制目標代碼。

    gcc -c main.s -o main.o

    編譯器將main.s文件轉化為main.o 文件。

    四、鏈接
    在成功編譯之后,就進入了鏈接階段。鏈接就是將目標文件、啟動代碼、庫文件鏈接成可執行文件的過程,這個文件可被加載或拷貝到存儲器執行。

    gcc main.o -o main

    編譯器將main.o鏈接成最終可執行文件main.exe

    一步到位
    執行以下代碼:

    gcc main.c -o main

    多模塊編譯
    一次性編譯:

    gcc -Wall main.c main_fun.c –o main

    獨立編譯:

    gcc –Wall –c main_fun.c –o main_fun.o gcc –Wall –c –o main.o main.c gcc –Wall main_fun.o fun.o –o main

    多模塊編譯中如果某一個模塊發生了變化,只需要編譯更改的模塊即可

    原文鏈接

    總結

    以上是生活随笔為你收集整理的gcc 编译过程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。