求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

目標代碼檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
  目標代碼

目標代碼(object code)指計算機科學中編譯器或匯編器處理源代碼後所生成的代碼,它一般由機器代碼或接近於機器語言的代碼組成。

簡介

目標代碼(object code)指計算機科學中編譯器或匯編器處理源代碼後所生成的代碼,它一般由機器代碼或接近於機器語言的代碼組成。目標文件(object file)即存放目標代碼的計算機文件,它常被稱作二進制文件(binaries)。目標文件包含着機器代碼(可直接被計算機中央處理器執行)以及代碼在運行時使用的數據,如重定位信息,如用於鏈接或調試的程序符號(變量和函數的名字),此外還包括其他調試信息。[2]目標文件是從源代碼文件產生程序文件這一過程的中間產物,鏈接器正是通過把目標文件鏈接在一起來生成可執行文件或庫文件。目標文件中唯一的要素是機器代碼,例如,用於嵌入式系統的目標文件可能僅僅含有機器代碼。目標代碼通常採用三種形式:機器語言,匯編語言,待裝配機器語言模塊。生成目標代碼時應着重考慮的問題: (1)如何使生成的目標代碼較短; (2)如何充分利用寄存器,以減少訪問內存次數; (3)如何充分利用指僅系統的的特點

評價

目標文件格式有許多不同的種類。最初每種類型計算機都擁有自身獨特的格式,但隨着Unix和其他可移植操作系統的問世,人們定義了例如COFF和ELF這些格式,並在不同的系統上使用它們。通常,鏈接器的輸入和輸出使用相同的文件格式,庫文件和可執行文件格式也是一樣使用相同的格式。設計或選擇一種目標文件格式是計算系統整體設計的關鍵部分。它影響着鏈接器的性能並因此影響着程序員在開發時的總耗時;如果格式是用於可執行文件,那麼格式的設計還會影響程序的開始運行花費的時間,以及影響到系統對用戶請求的反應速度。大部分目標文件格式以區塊的方式來組織,每一區塊中都裝載着同種數據。在虛擬內存系統需要這些塊的時候,它可以通過將這些塊分頁後調入,無需進一步處理就可使用。[1]

參考文獻