語言編譯的步驟及裝入執行過程

2021-07-15 02:17:54 字數 664 閱讀 6608

一、預處理

主要功能:處理程式中的預處理語句

1.檔案包含;

2.巨集的替換;

3.條件編譯;

二、編譯掃瞄(符號掃瞄=>彙編**)

主要功能:將預處理完的程式掃瞄符號生成,翻譯成彙編**;

?是否變數位址的對映替換在此步中完成的。

[優化程式]:編譯器對程式編譯的優化處理是在何時刻進行的...

三、彙編掃瞄

主要功能:將匯程式設計序編譯生成二進位制**和重定位資訊的目標檔案?

四、連線程式

五、生成的二進位制檔案可以裝入記憶體執行;

儲存器對映管理方式相關:

2.靜態重定位方式

3.動態重定位方式

--實時計算方式,將基位址和偏移位址實時計算成記憶體位址;

優點:實時計算記憶體位址,在程式執行過程中,可以從記憶體中載入載出;

需要增加額外資源,如暫存器:mr/br/vr mr=br vr,根據基位址和虛擬位址得到相應的實體地址;

C編譯執行的過程

c編譯執行是c語言必學的的。從巨集觀上來說主要分成了 c源 編譯 鏈結 執行 從微觀上來說 c源程式標頭檔案 預編譯處理 cpp 編譯程式本身 優化程式 匯程式設計序 鏈結程式 可執行檔案 a 預編譯處理 將偽指令和特殊的符號進行處理。預處理就是將原始檔的包含標頭檔案,巨集定義,條件編譯等進行簡單的...

c語言編譯過程及cc 的使用

生成乙個可執行的檔案通常需要經過以下幾個步驟 預處理你的源 去掉注釋,以及其他技巧性的工作就像在 c 中展開巨集。檢查 的語法看你是否遵守了這個語言的規則。如果沒有,編譯器會給出 警告。把源 轉換為組合語言 和機器 很相似,但是在一定情況下我們仍然可以理解。1 把組合語言轉換為機器語言 是的,我們在...

C語言從編譯到執行過程詳解

目錄 最近在看csapp 深入理解計算機系統 然後以前也學過c語言,但是從來沒有深究寫好的c 是怎麼編譯再到執行的。所以現在自己學習,然後記錄下來。以最常用的hello world!程式為例 程式名 main.c include int main hel程式設計客棧lo程式的生命週期是從乙個高階c語...