編譯鏈結的基本步驟

2021-07-15 08:32:57 字數 631 閱讀 6407

因為現在的開發環境都是整合開發環境,所以我們很少需要關注一段**在計算機中編譯鏈結的過程。但是事實上,通常一段**需要四個步驟才能完成從編譯到鏈結的過程,

分別是預處理,編譯,彙編和鏈結。

預處理編譯過程主要處理源**中以「#」開始的預編譯指令。比如」#include「,」#define「等,主要處理如下:

1.將所有「#define」刪除,並且展開所有的巨集定義;

2.處理所有條件預編譯指令,將被包含的檔案插入到該預編譯指令的位置;

3.刪除所有注釋;

4.新增行號和檔名標示,便於後面除錯或錯誤警告提示;

5.保留所有#program編譯器指令,這一部分後面編譯器需要使用。

編譯的過程就是把預處理完的檔案進行一系列的詞法分析,語義分析及優化後的彙編**檔案。

彙編器是將彙編**轉變成計算機可以執行的指令,得到目標檔案。每乙個 彙編語句幾乎都對應一條機器指令,所以彙編器的彙編過程相對於編譯器來講比較簡單,只是根據彙編指令和機器指令的對照表一一對應翻譯就可以了。

鏈結的過程就是將經過預處理、編譯、彙編後得到的目標檔案鏈結起來,得到最終的可執行檔案。

編譯的基本步驟

在筆者身邊 普通二本學校 所接觸的搞it的人士,很少有學習或者了解過編譯原理的人。竊以為原因有兩點 一是所從事的領域多數為頂層開發,學習演算法都頭疼的夠嗆了 二是學習氛圍相對較差,沒有開設相應的課程。突然想起了一則笑話,說 一男上非誠勿擾,當女嘉賓們得知他是程式設計師後,一陣 咚嗡 就沒有然後了。編...

編譯安裝的基本步驟

編譯安裝的基本步驟,本筆記以httpd 2.4.29為例加以說明 rpm ql httpd 可以檢查已安裝應用的檔案路徑 rpm qi httpd 可以檢視安裝應用的版本等資訊,同理可使用yum 的yum info httpd 來顯示 第二步 解壓縮檔案使用命令tar xvf httpd 2.4.2...

編譯和鏈結過程步驟

gcc e hello.c o hello.i 源 檔案hello.c和相關的標頭檔案 如stdio.h 被 預編譯器 cpp 預編譯成乙個.i檔案 預編譯過程,主要處理那些源 中的,以 開頭的預編譯指令 如 展開所有的巨集定義 define 處理所有的條件預編譯指令 if,ifdef,else,e...