源程序與目標程序的主要區別在於源程序是程序員編寫的可讀程序,而目標程序是通過編譯源程序創建的機器可執行程序。
源程序可以編譯或解釋以供執行。反編譯器有助於將目標程序轉換回其原始源程序。需要注意的是,術語源程序和目標程序是作為相關術語使用的。如果你使用一個程序轉換程序(比如編譯器),輸入的是源程序,輸出的是目標程序。因此,一個工具生成的目標程序可以成為另一個工具的源文件。
目錄
1. 概述和主要區別
2.什麼是源程序
3. 什麼是目標程序
4. 並列比較-源程序與目標程序的表格形式
5. 摘要
什麼是源程序(source program)?
程序員用高級語言編寫源程序。因此,它很容易被人類閱讀。源程序通常包含有意義的變量名和有用的註釋,以使其更具可讀性。機器不能直接執行源程序。編譯器有助於將源程序轉換為機器執行的可執行代碼。或者,是使用翻譯。它不需要預先編譯就可以逐行執行源程序。
visualbasic是編譯語言的一個例子,而Java是解釋語言的一個例子。Visual Basic源文件(.vb文件)被編譯為.exe代碼,而Java源文件(.Java文件)首先被編譯(使用javac命令)為字節碼(一種包含在.class文件中的目標代碼),然後使用Java解釋器(使用Java命令)進行解釋。當軟件應用程序被分發時,它們通常不包括源文件。但是,如果應用程序是開源的,那麼源代碼也是分佈式的,用戶也可以查看和修改源代碼。
什麼是目標程序(object program)?
目標程序通常是一個機器可執行文件,它是使用編譯器編譯源文件的結果。除了機器指令,它們還可能包括調試信息、符號、堆棧信息、重定位和配置信息。因為它們包含機器代碼中的指令,所以人類不容易閱讀它們。但有時,目標程序指的是源文件和可執行文件之間的中間對象。
被稱為鏈接器的工具有助於將一組對象鏈接到可執行文件(例如C語言)。如前所述。exe文件和字節碼文件分別是使用Visual Basic和Java時生成的對象文件。exe文件直接在windows平臺上執行,字節碼文件需要解釋器才能執行。
大多數軟件應用程序只與對象或可執行文件一起分發。可以通過反編譯將對象或可執行文件轉換回其原始源文件。例如反編譯工具可以java.class文件(字節碼)到其原始的.java文件中。
源程序(source program)和目標程序(object program)的區別
源程序是由程序員編寫的可讀程序。它是用Java或C等高級語言編寫的,因此,源程序是人類可讀的。機器無法理解。
另一方面,目標程序是編譯源程序後創建的機器可執行程序。它包含低級語言,如彙編或機器代碼。因此,目標程序是不可讀的。機器可以理解。
總結 - 源程序(source program) vs. 目標程序(object program)
源程序和目標程序的區別在於,源程序是程序員編寫的可讀程序,而目標程序是通過編譯源程序創建的機器可執行程序。
引用
1.“源代碼”,維基百科,維基媒體基金會,2018年5月17日。此處提供
2.“目標代碼”,維基百科,維基媒體基金會,2018年5月14日。此處提供