首頁  >  文章  >  C語言中原始程式轉換成目標程式的過程是什麼?

C語言中原始程式轉換成目標程式的過程是什麼?

不言
不言原創
2019-03-08 13:33:4625329瀏覽

C語言中原始程式轉換成目標程式的過程是什麼?

C語言中原始程式轉換成目標程式的過程整體上來說就是編譯的過程。

C語言的編譯過程有四個步驟:

1、預處理:將儲存在不同檔案的原始程式(.c檔案)聚合在一起,將語言中的巨集進行替換,例如預處理指令#include,讓編譯器開啟包含的檔案,將其程式與其他程式待在一起.產生.i檔案。

2、編譯:預處理原始程式(.i檔)變成組譯器(.s檔)

3、組譯(assember):將組譯器轉換為可重定位( relocatable: 就是說檔案裡面的程式碼段和資料的位址還沒有最終確定)的機器碼,這一步產生目標檔(.obj或.o檔)。

4、連結(linker)/載入(loader):連結就是把目標檔案和其他分別進行編譯生成的程式模組(如果有的話)及系統提供的標準函式庫函數連接在一起,生成可運行的可執行檔的過程,載入時將各程式碼與資料定位到記憶體合適的位置,這一步產生最終的可執行檔。

以上是C語言中原始程式轉換成目標程式的過程是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn