彙編程式(assembler)和編譯程式(compiler)的區別

一般來說,編譯器是一種計算機程式,它讀取用一種語言編寫的程式(稱為源語言),並將其翻譯成另一種語言(即目標語言)。傳統的源語言是C++等高階語言,目標語言是組合語言等低階語言。然而,有些編譯器可以將用匯編語言編寫的源程式轉換為機器程式碼或目的碼。彙編程式就是這樣的工具。因此,彙編程式和編譯器最終都會生成可以在機器上直接執行的程式碼。...

彙編程序與編譯器

一般來說,編譯器是一種計算機程序,它讀取用一種語言編寫的程序(稱為源語言),並將其翻譯成另一種語言(即目標語言)。傳統的源語言是C++等高級語言,目標語言是彙編語言等低級語言。然而,有些編譯器可以將用匯編語言編寫的源程序轉換為機器代碼或目標代碼。彙編程序就是這樣的工具。因此,彙編程序和編譯器最終都會生成可以在機器上直接執行的代碼。

什麼是編譯器?

編譯器是一種計算機程序,它讀取用一種語言編寫的程序(稱為源語言),並將其翻譯成另一種語言,即目標語言。通常,源語言是高級語言,目標語言是低級語言。因此,一般來說,編譯器可以看作是從一種語言翻譯到另一種語言的翻譯人員。此外,編譯器對代碼執行一些優化。典型的編譯器由幾個主要組件組成。第一個組件是掃描器(也稱為詞法分析器)。Scanner讀取程序並將其轉換為一系列標記。第二個組件是解析器。它將中的標記字符串轉換為解析樹(或抽象語法樹),解析樹捕獲程序的語法結構。下一個組成部分是解釋句法結構語義的語義例程。代碼優化和最終代碼生成都遵循這一點。

什麼是彙編程序?

彙編程序是將彙編語言翻譯成機器代碼的軟件或工具。所以,彙編程序是一種編譯器,源代碼是用匯編語言編寫的。彙編是一種人類可讀的語言,但它通常與對應的機器代碼有一對一的關係。因此,彙編程序被稱為執行同構(一對一映射)轉換。高級彙編程序提供支持程序開發和調試過程的附加功能。例如,稱為宏彙編程序的彙編程序類型提供了宏工具。

彙編程序和編譯器的區別是什麼?

  • 發表於 2020-10-24 15:37
  • 閱讀 ( 13 )
  • 分類:科技

你可能感興趣的文章

語法錯誤(syntax error)和邏輯錯誤(logical error)的區別

鍵區別-語法錯誤與邏輯錯誤 程式設計時,可能會出現錯誤。錯誤是程式的意外輸出。這些錯誤會影響程式的正確執行。因此,有必要消除所有錯誤。錯誤也被稱為bug。識別錯誤並修復錯誤的過程稱為除錯。每種程式語言都有...

  • 發佈於 2020-10-19 09:24
  • 閲讀 ( 66 )

編譯時間(compile time)和執行時(runtime)的區別

關鍵區別-編譯時與執行時 大多數程式都是用高階程式語言編寫的。這些程式語言的語法與英語相似。高階語言很容易被人類理解,但計算機卻無法理解。因此,編寫的程式或原始碼應轉換成機器可理解的格式。它被稱為機器...

  • 發佈於 2020-10-19 10:25
  • 閲讀 ( 60 )

路徑(path)和類路徑(classpath)的區別

...件(javadocumentation)、Java標頭檔案生成器(javah)、Java反彙編程式(javap)和Java偵錯程式(jdb)等工具。要編譯和執行Java程式,必須有Java編譯器和Java工具。這些是可執行檔案。 圖01:路徑和類路徑 編譯Java程式時,將此呼叫作...

  • 發佈於 2020-10-19 11:04
  • 閲讀 ( 51 )

原始碼(source code)和目的碼(object code)的區別

...的集合,而目的碼是機器語言中的語句序列,是編譯器或彙編程式轉換原始碼後的輸出。 目錄 1. 概述和主要區別 2. 什麼是原始碼 3. 什麼是目的碼 4.原始碼和目的碼的相似性 5. 並行比較-原始碼與目的碼的表格形式 6. 摘要 什麼...

  • 發佈於 2020-10-19 18:56
  • 閲讀 ( 189 )

機器語言(machine language)和組合語言(assembly language)的區別

...語言轉換成機器語言的方法依賴於CPU。 什麼是組合語言(assembly language)? 組合語言是介於高階程式設計語言和機器語言之間的中間語言。它比機器語言高一級。組合語言比機器語言更容易理解,但比高階程式語言更難理解。這種...

  • 發佈於 2020-10-20 02:53
  • 閲讀 ( 85 )

源程式(source program)和目標程式(object program)的區別

...譯源程式後建立的機器可執行程式。它包含低階語言,如彙編或機器程式碼。因此,目標程式是不可讀的。機器可以理解。 總結 - 源程式(source program) vs. 目標程式(object program) 源程式和目標程式的區別在於,源程式是程式設計...

  • 發佈於 2020-10-26 14:27
  • 閲讀 ( 50 )

如何編譯自己的linux核心

...要組成部分,如果不是最重要的話。作業系統負責讓你的程式執行,允許它們訪問你的硬體。然而,它實際上是執行所有這些任務的核心。 ...

  • 發佈於 2021-03-15 10:33
  • 閲讀 ( 45 )

有了彙編,任何人都可以為開源軟體做貢獻,並實際獲得報酬

...領域之外,這些策略仍然是相對利基的。舊金山一家名為Assembly的初創公司正試圖改變這一切,它改進了開源模型,使之能夠輕鬆地將編碼之外的學科結合起來,同時也包含了一個共享的利潤動機。今天,該公司宣佈了一輪290萬...

  • 發佈於 2021-04-27 22:38
  • 閲讀 ( 37 )

iphoto相簿(iphoto album)和智慧相簿(smart album)的區別

...流行應用軟體,介面非常直觀,是一款使用者友好的應用程式,使使用者可以輕鬆編輯和整理儲存的數字影象和照片。雖然它很容易使用,但它提供的功能不如用於照片編輯和操作的專用軟體那麼多。iPhoto應用程式最常用的功能...

  • 發佈於 2021-06-23 14:04
  • 閲讀 ( 36 )

jdbc語句(jdbc statement)和編製報表(preparedstatement)的區別

...問,尤其是儲存在關聯式資料庫中的資料。它使用用Java程式語言編寫的JDBC驅動程式將任何Java應用程式與資料庫連線起來。它允許我們連線到所有公司資料庫,即使在異構環境中也是如此。 Statement和PreparedStatement是表示與資料庫...

  • 發佈於 2021-06-25 10:39
  • 閲讀 ( 61 )