聯結器(linker)和裝載機(loader)的區別

連結器和載入程式的區別在於,連結器生成源程式的可執行模組,而載入程式將可執行模組載入到主記憶體中。...

主要區別

連結器和載入程式的區別在於,連結器生成源程式的可執行模組,而載入程式將可執行模組載入到主記憶體中。

聯結器(linker) vs. 裝載機(loader)

有一些實用程式在任何程式的執行中起主要作用;有兩種型別的實用程式,即連結器和載入程式。程式的任何原始碼都必須經過編譯器、彙編程式、連結器、裝入器,這是任何程式執行的順序。連結器接收匯程式設計序生成的目的碼,並將它們組合起來生成可執行模組。另一方面,Loader將可執行模組載入到主記憶體以執行。必須執行的程式存在於主存中。載入程式,載入作業系統中的可執行檔案。載入器將記憶體空間分配給主記憶體中的可執行模組。載入程式有三種類型:絕對載入程式、可重定位載入程式和動態執行時載入程式。這三種裝載機有不同的裝載方式,分別是絕對裝載法、浮動裝載法和動態執行時裝載法

彙編程式和編譯器不是同一個程序,但它們所做的工作是相同的,即生成源程式的目的碼並將其交給連結器。連結器的主要過程是在完成連結器的這項工作後,獲取目的碼並生成程式的可執行程式碼,並將程式碼分配給載入程式。在高階語言中有一些內建庫和標頭檔案。有一些庫函式是在內建庫中定義的。絕對載入器將程式的可執行檔案載入到相同的主記憶體位置。在絕對載入器中,程式設計師必須知道分配。重新定位載入程式編譯或彙編實際的主記憶體地址。動態執行時載入器,執行指令時生成絕對記憶體程式。函式透過連結器連結到庫函式。如果找不到特定函式的庫函式,則會通知編譯器。當有一個大程式時,它被分成更小的程式,這些程式稱為模組。物件模組是在編譯或組裝這些模組時生成的。連結器必須將整個程式組合在一起。有兩種型別的連結器一種是連結編輯器,它生成重新定位的可執行模組,另一種是動態連結器,連結外部模組,直到生成載入模組。

比較圖

聯結器裝載機
連結器生成源程式的可執行模組載入程式將可執行模組載入到主記憶體中。
輸入
連結器透過彙編程式獲取輸入的目的碼載入程式獲取可執行模組有輸入
功能
連結器組合了所有的物件模組載入程式將地址分配給可執行檔案
型別
連結器的型別有連結編輯器和動態編輯器裝載機的型別有絕對裝載機、動態執行時裝載機和重定位裝載機。

什麼是聯結器(linker)?

彙編程式和編譯器不是同一個程序,但它們所做的工作是相同的,即生成源程式的目的碼並將其交給連結器。連結器的主要過程是在完成連結器的這項工作後,獲取目的碼並生成程式的可執行程式碼,並將程式碼分配給載入程式。在高階語言中有一些內建庫和標頭檔案。有一些庫函式是在內建庫中定義的。這些函式透過連結器連結到庫函式。如果找不到特定函式的庫函式,則會通知編譯器。當有一個大程式時,它被分成更小的程式,這些程式稱為模組。物件模組是在編譯或組裝這些模組時生成的。連結器必須將整個程式組合在一起。有兩種型別的連結器一種是連結編輯器,它生成重新定位的可執行模組,另一種是動態連結器,連結外部模組,直到生成載入模組。

什麼是裝載機(loader)?

必須執行的程式存在於主存中。載入程式,載入作業系統中的可執行檔案。載入器將記憶體空間分配給主記憶體中的可執行模組。載入程式有三種類型:絕對載入程式、可重定位載入程式和動態執行時載入程式。這三種載入方式有絕對載入方式、浮動載入方式和動態執行時載入方式。絕對裝入器將程式的可執行檔案載入到相同的主記憶體位置。在絕對載入器中,程式設計師必須知道分配。重新定位載入程式編譯或彙編實際的主記憶體地址。動態執行時載入器,執行指令時生成絕對記憶體程式。

主要區別

  1. 連結器生成源程式的可執行模組,而載入程式將可執行模組載入到主記憶體中。
  2. 連結器接收匯程式設計序輸入的目的碼,而載入程式獲取可執行模組必須輸入的程式碼
  3. 連結器組合了所有的物件模組,而Loader將地址分配給一個可執行檔案。
  4. 連結器的型別有連結編輯器和動態編輯器,而載入程式的型別是絕對載入程式、動態執行時載入程式和重新定位載入程式。

對比影片

  • 發表於 2020-02-14 02:07
  • 閱讀 ( 95 )
  • 分類:IT

你可能感興趣的文章

微型atx(micro atx)和迷你itx(mini itx)的區別

...機系統的尺寸、電源要求和電源、外圍介面/附加元件和聯結器型別的具體性質。它主要涉及計算機系統的主機板、電源單元和機箱的配置。 微型ATX Micro-ATX,也稱為uATX、mATX或µATX,是1997年引入的基於ATX規範的標準。ATX是Intel公...

  • 發佈於 2020-10-24 23:56
  • 閲讀 ( 40 )

vga(vga)和hdmi(hdmi)的區別

...儀和電視等裝置中使用的影片介面。該介面基於D-超小型聯結器(也稱為D-sub),使用的D-sub聯結器型別為DE-15,具有15個引腳。它是IBM在1987年設計的。從那時起,它一直是電腦的預設影片介面,直到最近。即使在今天,VGA仍然被...

  • 發佈於 2020-11-03 03:25
  • 閲讀 ( 48 )

顯示埠與hdmi有什麼區別,哪種最好?

... displayport與hdmi電纜和聯結器 ...

  • 發佈於 2021-03-11 08:57
  • 閲讀 ( 55 )

如何在outlook中啟用載入項和聯結器

Outlook有很多第三方載入項和聯結器可用。外接程式和聯結器有什麼區別,如何使用它們,它們安全嗎?我們有答案給你。 什麼是載入項和聯結器(add-ins and connectors)? 外接程式和聯結器是將Outlook連線到第三方應用程式的方法。...

  • 發佈於 2021-04-03 07:14
  • 閲讀 ( 48 )

硬體升級:如何安裝新硬碟,第2部分,故障排除

...您可能會遇到這樣的情況:由於主機板上的裝置太多,IDE聯結器不夠,所以必須在一根IDE電纜上連線兩個驅動器。例如,也許你要安裝兩個新的硬碟來儲存,你已經有了一個IDE驅動器,你還需要保留一個光碟驅動器。如果你的主...

  • 發佈於 2021-04-12 19:17
  • 閲讀 ( 39 )

英特爾承認usb-c是未來的聯結器,因為它被thunderbolt 3採用了

...下一個版本的Thunderbolt,Thunderbolt 3,將配備一個USB Type-C聯結器。
 
 
 
 英特爾決定使用USB-C作為下一個Thunderbolt實現的聯結器,這在統一計算機所需的...

  • 發佈於 2021-04-30 08:04
  • 閲讀 ( 30 )

如何保護自己免受新的macos安全漏洞的攻擊

...go的高階VirusBarrier X9和Flexivity防病毒程式已將作業系統/連結器威脅新增到其登錄檔中,您還可以使用免費的VirusBarrier掃描程式檢查您的系統是否存在與該漏洞相關的任何已知威脅。這些將在檢測到的威脅下顯示為“OSX/Linker”。In...

  • 發佈於 2021-05-13 21:07
  • 閲讀 ( 35 )

ata公司(ata)和世達(sata)的區別

...稱,通常稱為ATA或Parallel ATA。最新的設計採用了80針電纜聯結器,由於其寬大,易於識別。ATA電纜兩端各有一個聯結器,中間有一個聯結器,最多可同時連線兩個裝置。SATA或序列ATA是旨在取代ATA的較新介面標準。它的電纜更窄,...

  • 發佈於 2021-06-22 12:01
  • 閲讀 ( 36 )

rj45型(rj45)和rj11型(rj11)的區別

RJ 45與RJ11 註冊插孔是首字母縮寫RJ的意思,RJ是電纜聯結器通常以其開頭的首字母縮寫。兩個最常見的插孔是RJ45和RJ11,每個插孔都有自己的特定用途。這兩者的主要區別在於它們實際使用的地方。RJ45插孔用於聯網,在這裡您可...

  • 發佈於 2021-06-22 13:52
  • 閲讀 ( 64 )

dvi公司(dvi)和D(dvi-d)的區別

...簡單地刪除引腳和佈線,應該進行模擬訊號。這些是圍繞聯結器一端的長扁銷的四個銷 一DD這意味著相應DVI-D埠上的插槽也較窄,不能容納其他聯結器。 不過,也可以將DVI-D聯結器連線到DVI-I插槽或接受所有型別電纜的通用插槽...

  • 發佈於 2021-06-22 17:49
  • 閲讀 ( 35 )