C C 編譯過程

2021-10-23 19:21:53 字數 703 閱讀 7778

**大神部落格1

**大神部落格2

**大神部落格3

過程主要有四個:

編譯預處理(preprocessing)

編譯、優化階段(compilation)

彙編過程(assemble)

鏈結程式(linking)

1. 編譯預處理(preprocessing)

預處理用於將所有的#include標頭檔案以及巨集定義替換成其真正的內容

將.c 檔案轉化成 .i檔案

2. 編譯、優化階段(compilation)

將經過預處理之後的程式轉換成特定彙編**(assembly code)的過程

將.c/.**件轉換成.s檔案

3. 彙編過程(assemble)

彙編過程將上一步的彙編**轉換成機器碼(machine code),這一步產生的檔案叫做目標檔案,是二進位制格式。

將.s 檔案轉化成 .o檔案

4. 鏈結程式(linking)

鏈結過程將多個目標檔案以及所需的庫檔案(.so等)鏈結成最終的可執行檔案(executable file)。

將.o檔案轉化成可執行程式

總結起來編譯過程就上面的四個過程

預編譯處理(.c) --> 編譯、優化程式(.s、.asm)--> 匯程式設計序(.obj、.o、.a、.ko) --> 鏈結程式(.exe、.elf、.axf等)。

C C 編譯過程

在學習c 過程中,遇到了標頭檔案為什麼最好是包含.h型別,而不是cpp型別的問題。在尋找結果的過程過,發現是跟語言的編譯過程有關,藉此機會學習一下c c 的編譯過程 目的就是 將高階語言轉換成二進位制語言,供計算機執行 1.預處理 替換 中的標頭檔案,巨集定義,去除 注釋 gcc e text.cp...

C C 語言編譯過程

2.編譯 優化過程 將.i檔案翻譯成會變得彙編 s檔案 在windows中,通常使用.asm便是彙編檔案 具體過程 詞法分析 語法分析 語義分析 中間 生成 優化 生成 將多個步驟組合成趟 編譯器構成工具 ps 這裡解釋一下 趟 的概念 這個 趟 指的是對源程式或者其等價的中間 語言程式進行從頭到尾...

C C 編譯過程詳解

gcc編譯過程四個步驟 1 預編譯 處理標頭檔案,處理巨集定義 2 編譯 c 編譯成 s檔案 3 彙編 s頭檔案匯編成機器碼.o 4 連線 吧不同的.o檔案連線起來。生成乙個可執行檔案 分析器 將源語言程式 轉換為組合語言,因為要從一種格式轉換為另一種格式分析器需要知道目標機器的組合語言。c 彙編 ...