定義
目標程式(拼音:mù biāo chénɡ xù,英文:Object Program)又稱“ 目的程式”。
為源程式經編譯可直接被計算機運行的 機器碼集合,在 計算機檔案上以.obj作擴展名----由 語言處理程式( 彙編程式, 編譯程式, 解釋程式)將源程式處理(彙編,編譯,解釋)成與之等價的由機器碼構成的,計算機能夠直接運行的程式,該程式叫目標程式。
作用
目標程式在許多編程工具中都有作用。
計算機並不能直接地接受和執行用高級語言編寫的 源程式, 源程式在輸入計算機時,通過" 翻譯程式"翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即 編譯方式和解釋方式。 編譯方式是指利用事先編好的一個稱為 編譯程式的 機器語言程式,作為 系統軟體存放在計算機內,當用戶將高級語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。解釋方式是指 源程式進入計算機後, 解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。如PASCAL、FORTRAN、COBOL等高級語言執行 編譯方式; BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫 編譯程式的高級 程式設計語言。
區別
編譯程式、 解釋程式、 彙編程式是3種 語言處理程式。其區別主要為: 彙編程式(為低級服務)是將 彙編語言書寫的 源程式翻譯成由 機器指令和其他信息組成的目標程式。 解釋程式(為高級服務)直接執行 源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生 目標代碼,如BASIC 解釋程式。 編譯程式(為高級服務)是將高級語言書寫的 源程式翻譯成與之等價的低級語言的目標程式。 編譯程式與解釋程式的區別之一在於前者生成 目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程式的執行速度要快;後者人機互動好,適於初學者使用。用COBOL、FORTRAN等語言編寫的程式考慮到執行速度一般都是編譯程式。
而二者最大的區別在於:對解釋執行而言,程式運行時的控制權在解答器而不在用戶程式;對編輯執行而言,運行時的控制權在於用戶程式。
相關概念區分
程式
為了使計算機能按照人們的意志工作,就要根據問題的要求,編寫相應的程式。程式是一組計算機可以識別和執行的指令,每一條指令使計算機執行特定的操作。
源程式
程式可以用高級語言或彙編語言編寫,用高級語言或彙編語言編寫的程式稱為源程式。C語言源程式的擴展名為“.c”。源程式不能直接在計算機上執行,需要用“編譯程式”將源程式編譯為二進制形式的代碼。
目標程式
源程式經過“編譯程式”編譯所得到的二進制代碼稱為目標程式。目標程式的擴展名為“.obj”。目標代碼儘管已經是機器指令,但是還不能運行,因為目標程式還沒有解決函式調用問題,需要將各個目標程式與庫函式連線,才能形成完整的可執行程式。
可執行程式
目標程式與庫函式連線,形成的完整的可在作業系統下獨立執行的程式稱為可執行程式。可執行程式的擴展名為".exe"(在dos/windows環境下)。