亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

c語言鏈接程序

時間:2025-05-15 16:40:26 C語言 我要投稿
  • 相關推薦

c語言鏈接程序

  由匯編程序生成的目標文件并不能立即就被執(zhí)行,其中可能還有許多沒有解決的問題。例如,某個源文件中的函數可能引用了另一個源文件中定義的某個符號(如變量或者函數調用等);在程序中可能調用了某個庫文件中的函數,等等。所有的這些問題,都需要經鏈接程序的處理方能得以解決。

  鏈接程序

  鏈接程序的主要工作就是將有關的目標文件彼此相連接,也即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的這些目標文件成為一個能夠誒操作系統裝入執(zhí)行的統一整體。

  根據開發(fā)人員指定的同庫函數的鏈接方式的不同,鏈接處理可分為兩種:

  (1)靜態(tài)鏈接

  在這種鏈接方式下,函數的代碼將從其所在地靜態(tài)鏈接庫中被拷貝到最終的可執(zhí)行程序中。這樣該程序在被執(zhí)行時這些代碼將被裝入到該進程的虛擬地址空間中。靜態(tài)鏈接庫實際上是一個目標文件的集合,其中的每個文件含有庫中的一個或者一組相關函數的代碼。

  (2)動態(tài)鏈接

  在此種方式下,函數的代碼被放到稱作是動態(tài)鏈接庫或共享對象的某個目標文件中。鏈接程序此時所作的只是在最終的可執(zhí)行程序中記錄下共享對象的名字以及其它少量的登記信息。在此可執(zhí)行文件被執(zhí)行時,動態(tài)鏈接庫的全部內容將被映射到運行時相應進程的虛地址空間。動態(tài)鏈接程序將根據可執(zhí)行程序中記錄的信息找到相應的函數代碼。

  對于可執(zhí)行文件中的函數調用,可分別采用動態(tài)鏈接或靜態(tài)鏈接的方法。使用動態(tài)鏈接能夠使最終的可執(zhí)行文件比較短小,并且當共享對象被多個進程使用時能節(jié)約一些內存,因為在內存中只需要保存一份此共享對象的代碼。但并不是使用動態(tài)鏈接就一定比使用靜態(tài)鏈接要優(yōu)越。在某些情況下動態(tài)鏈接可能帶來一些性能上損害。


【c語言鏈接程序】相關文章:

C語言中的鏈接編寫10-02

C語言鏈接庫的用法10-11

C語言程序試題04-26

c語言入門經典程序08-01

C語言經典程序題09-17

C語言程序介紹08-23

C語言程序實例10-10

C語言程序的段06-14

c語言入門的經典程序07-25