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

計算機程式用於向計算機發出指令。它是使用特定的程式語言編寫的。C、Java等程式語言是高階程式語言,人類可以理解,但計算機無法理解。因此,使用語言翻譯將高階程式轉換為機器語言。使用高階語言編寫的程式是原始碼。轉換後,轉換後的程式碼稱為物件程式碼。連結器和載入器是用於程式執行的兩個軟體程式。本文討論了連結器和載入器之間的區別。連結器是將物件程式碼與其他檔案(如標頭檔案)連結起來並建立副檔名為.exe的可執行...

關鍵區別–鏈接器與加載程序

計算機程序用於向計算機發出指令。它是使用特定的編程語言編寫的。C、Java等編程語言是高級編程語言,人類可以理解,但計算機無法理解。因此,使用語言翻譯將高級程序轉換為機器語言。使用高級語言編寫的程序是源代碼。轉換後,轉換後的代碼稱為對象代碼。鏈接器和加載器是用於程序執行的兩個軟件程序。本文討論了鏈接器和加載器之間的區別。鏈接器是將對象代碼與其他文件(如頭文件)鏈接起來並創建擴展名為.exe的可執行文件的軟件。加載程序是將鏈接器生成的可執行文件加載到主內存的系統軟件。這是鏈接器和加載器之間的關鍵區別。

目錄

1. 概述和主要區別
2.什麼是鏈接器
3. 什麼是裝載機
4. 鏈接器和加載程序之間的關係
5. 並排比較-鏈接器與表格形式的加載程序
6. 摘要

什麼是連接器(linker)?

計算機程序是給計算機執行某項任務的一組指令。計算機程序可以用編程語言編寫。大多數編程語言都是高級編程語言。它們很容易被程序員理解和閱讀。這些語言遵循與英語相似的語法。高級語言的一些例子是Java、C和Python。使用高級編程語言編寫的程序稱為源代碼、源文件或源程序。源代碼的擴展取決於它是用什麼語言開發的。如果源代碼是用C++編寫的,那麼文件擴展名是.CPP。如果源代碼是用Python編寫的,那麼擴展名是.py。

即使是源代碼,程序員也能理解,計算機也無法理解。因此,應該使用語言翻譯程序將源代碼轉換為機器可理解的格式。它可以是編譯器或解釋器。翻譯後的代碼稱為目標代碼。目標代碼是機器語言。它由0和1組成。計算機可以直接理解目標代碼。它有擴展名。obj。如果有一個源代碼作為Test.c,那麼它將經過編譯器並轉換成測試對象.

鏈接器是將目標代碼與附加文件(如頭文件)鏈接並創建擴展名為.exe的可執行文件的軟件。程序可能使用了內置函數。這些內置函數的功能在頭文件中。根據上面解釋的示例,目標代碼測試對象使用鏈接器添加必要的頭文件。它會創建一個名為測試.exe. 它是一個可執行文件。因此,它可以由計算機執行。

什麼是裝載機(loader)?

應該執行的程序必須放在內存中。鏈接器鏈接目標代碼和頭文件並輸出可執行文件。加載程序是將鏈接器生成的可執行文件加載到主內存的系統軟件。它將內存空間分配給主內存中的可執行模塊。因此,加載器是操作系統中負責加載程序和庫的一部分。

連接器(linker)和裝載機(loader)的區別

圖01:源代碼加載到內存的順序

加載一個程序需要幾個步驟。它包括將包含程序指令的可執行文件的內容讀入內存,並執行運行可執行文件所需的準備任務。加載完成後,操作系統通過將控制權傳遞給加載的程序代碼來啟動程序。特殊的計算機系統,如嵌入式系統,通常沒有加載程序。代碼直接由ROM執行。

什麼是鏈接器與加載器的關係(the relati***hip between linker and loader)?

  • 鏈接器的輸出發送到加載程序。

連接器(linker)和裝載機(loader)的區別

鏈接器與加載程序
鏈接器是將目標代碼與附加文件(如頭文件)鏈接並創建擴展名為.exe的可執行文件的軟件。 加載程序是將鏈接器生成的可執行文件加載到主內存的系統軟件。
輸入
鏈接器獲取語言轉換器的輸出,即目標代碼。 加載程序從鏈接器獲取輸出,鏈接器是可執行文件。
功能
鏈接器鏈接目標代碼和頭文件並輸出可執行文件。 加載程序將從鏈接器獲取的可執行文件加載到主內存。

總結 - 連接器(linker) vs. 裝載機(loader)

鏈接器和加載程序是與程序執行相關的兩個軟件組件。本文討論了鏈接器和加載程序之間的區別。鏈接器是將目標代碼與附加文件(如頭文件)鏈接並創建擴展名為.exe的可執行文件的軟件。加載程序是將鏈接器生成的可執行文件加載到主內存的系統軟件。這就是鏈接器和加載程序之間的區別。

引用
  • 發表於 2020-10-19 05:42
  • 閱讀 ( 38 )
  • 分類:科技

你可能感興趣的文章

微型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
  • 閲讀 ( 52 )

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

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

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

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

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

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

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

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

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

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

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

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

如何保護自己免受新的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
  • 閲讀 ( 38 )

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

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

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

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

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

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