1. 程式人生 > >編譯原理(九)C語言編譯系統

編譯原理(九)C語言編譯系統

C語言編譯系統:


兩邊掃描,有些跳轉程式碼,要等翻譯過後,才能知道具體位置,所以要進行第二遍編譯:

聯結器

目標模組或目標檔案的形式

  • 可重定位的目標檔案
  • 可執行的目標檔案
  • 共享目標檔案
  • ----一種特殊的可重定位目標檔案
  • ----在裝入程式或執行程式時,動態地裝入到記憶體並連線(例如,當你引入了包含printf的標頭檔案,當用到printf的時候,會將此檔案裝入記憶體,否則不裝入,如此做到動態裝入)

連線是一個收集、組織程式所需的不同程式碼和資料的過程,以便程式能被裝入記憶體並被執行

連線的時機:編譯時(靜態聯結器)、裝入時(動態聯結器)、或執行時。

若需要了解裝入過程真正怎樣工作的,必須在理解了程序、虛擬記憶體和記憶體分頁等概念以後。