成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

初探Unix操作系統目標文件

系統 其他OS
在文章中,我們會帶大家以前對Unix操作系統目標文件進行初探。在 Unix操作系統® 和 Linux® 中,任何事物都是文件。

在我們使用Unix操作系統的開始階段,我們也許對Unix操作系統不敢嘗試更好的方法,因為我們不知道該怎么使用,今天我們就來對Unix操作系統目標文件進行初探。

Unix操作系統中運行的程序遵守一種稱為目標文件格式的精心設計。了解更多關于目標文件格式的內容,以及可以用來研究系統中目標文件的工具。
  
計算機編程的***技術將一種特殊的人性與一組特殊的工具結合在一起,用以生產出對其他人非常有幫助的一種神奇的產品,即軟件。計算機程序員是一群注重細節的人,他們可以處理計算機中各種各樣的困難。計算機的要求非常苛刻,并且不能容忍其中存在任何的偏差。毫無疑問,無論您的個性如何以及在工作中使用了何種輔助工具,計算機程序的編寫都是非常困難的。

在 Unix操作系統® 和 Linux® 中,任何事物都是文件。您可以認為,Unix操作系統 和 Linux 編程實際上是編寫處理各種文件的代碼。系統由許多類型的文件組成,但目標文件具有一種特殊的設計,提供了靈活和多樣的用途。

目標文件是包含帶有附加地址和值的助記符號的路線圖。這些符號可以用來對各種代碼段和數據段進行命名,包括經過初始化的和未初始化的。它們也可以用來定位嵌入的調試信息,就像語義 Web,非常適合由程序進行閱讀。

Unix操作系統行業工具

計算機編程中使用的工具包括代碼編輯器,如 vi 或 Emacs,您可以使用這些工具輸入和編輯希望計算機在完成所需任務時執行的指令,以及編譯器和連接器,它們可以生成真正實現這些目標的機器代碼。

高級的工具,稱為集成調試環境 (IDE),它以統一的外觀集成了不同工具的功能。IDE 使得編輯器、編譯器、連接器和調試器之間的界限變得很模糊。因此,為了更深入地研究和了解系統,在使用集成的套件之前,***先單獨地使用這些工具。(注意:IDE 也通常被稱為集成開發環境。)

編譯器可以將您在代碼編輯器中創建的文本轉換為目標文件。最初,目標文件被稱為代碼的中間表示形式,因為它用作連接編輯器(即連接器)的輸入,而連接編輯器最終完成整個任務并生成可執行的程序作為輸出。

從代碼到可執行代碼的轉換過程經過了良好的定義并實現了自動化,而目標文件是這個鏈中有機的連接性環節。在這個轉換過程中,目標文件作為連接編輯器所使用的映象,使得它們能夠解析各種符號并將不同的代碼和數據段連接在一起形成統一的整體。

歷史

計算機編程領域中存在許多著名的目標文件格式。DOS 系列包括 COM、OBJ 和 EXE 格式。Unix操作系統 和 Linux 使用 a.out、COFF 和 ELF。Microsoft® Windows® 使用可移植的執行文件 (PE) 格式,而 Macintosh 使用 PEF、Mach-O 和其他文件格式。

最初,各種類型的計算機具有自己獨特的目標文件格式,但隨著Unix操作系統和其他在不同硬件平臺上提供可移植性的操作系統的出現,一些常用的文件格式上升為通用的標準。其中包括 a.out、COFF 和 ELF 格式。

要了解目標文件,需要一組可以讀取目標文件中不同部分并以更易于讀取的格式顯示這些內容的工具。本文將討論這些工具中比較重要的方面。但首先,您必須創建一個工作臺,并在其中建立一個研究對象。

工作臺

啟動一個 xterm 會話,讓我們先創建一個空白的工作臺,并開始對目標文件進行研究。下面的命令創建了一個目錄,可以將目標文件放到該目錄中進行研究:
 

  1. cd  
  2. mkdir src  
  3. cd src  
  4. mkdir hw  
  5. cd hw  

然后,使用您最喜歡的代碼編輯器,在 $HOME/src/hw 目錄中輸入清單 1 中的程序,并命名為 hw.c。

清單 1. hw.c 程序
 
 

  1. #include <stdio.h> 
  2. int main(void)  
  3. {  printf("Hello World!\n");  
  4. return 0;} 


 
要使用Unix操作系統 工具庫中提供的各種工具,可以將這個簡單的“Hello World”程序作為研究的對象。您將學習構建和查看目標文件的輸出,而不是使用任何快捷方法直接創建可執行文件(的確有許多這樣的快捷方法)。

文件格式

C 編譯器的正常輸出是用于您所指定的目標處理器的匯編代碼。匯編代碼是匯編器的輸入,在缺省情況下,匯編器將生成所有目標文件的祖先,即 a.out 文件。這個名稱本身表示匯編輸出 (Assembler Output)。要創建 a.out 文件,可以在 xterm 窗口中輸入下面的命令:cc hw.c
 
注意:如果出現了任何錯誤或者沒有創建 a.out 文件,那么您可能需要檢查自己的系統或源文件 (hw.c),以找出其中的錯誤。還需要檢查是否已將 cc 定義為運行您的 C/C++ 編譯器。

***的 C 編譯器將編譯和匯編步驟組合成一個步驟。您可以指定不同開關選項以查看 C 編譯器的匯編輸出。通過輸入下面的命令,您可以看到 C 編譯器的匯編輸出:cc -S hw.c
 
這個命令生成了一個新的文件 hw.s,其中包含您通常無法看到的匯編輸入文本,因為編譯器在缺省情況下將生成 a.out 文件。正如所預期的,Unix操作系統匯編程序可以對這種輸入文件進行匯編,以生成 a.out 文件。

希望以上的關于Unix操作系統的知識對大家有所幫助。

【編輯推薦】

  1. 解析Unix操作系統變種SCO UnixWare
  2. 10個程序來考驗Unix操作系統
  3. 變成Unix操作系統高手
  4. 快速學習Unix操作系統
  5. 關于Unix操作系統問題
責任編輯:小霞
相關推薦

2010-04-16 17:49:28

Unix操作系統

2010-04-09 15:34:41

Unix操作系統

2010-04-16 17:58:22

Unix操作系統

2010-04-15 10:53:20

2010-04-16 17:46:26

Unix操作系統

2010-04-08 15:58:24

Unix操作系統

2010-04-15 16:24:10

Unix操作系統

2010-04-13 12:27:44

Unix操作系統

2010-04-16 17:28:37

2010-04-30 17:21:50

Unix操作系統

2010-04-15 14:40:26

Unix操作系統

2010-04-08 10:42:28

Unix操作系統

2010-04-08 16:18:22

Unix操作系統工具

2010-04-08 17:56:42

Unix操作系統

2010-04-14 13:59:45

Unix操作系統

2010-04-16 17:19:58

Unix操作系統

2010-04-19 10:54:33

Unix操作系統

2010-04-19 16:57:09

Unix操作系統

2010-04-19 17:39:50

Unix操作系統

2010-04-19 18:18:30

Unix操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一二三区精品 | 久久国| 国产1页| 羞羞网站免费 | 在线观看免费毛片 | av色站 | 日日夜夜狠狠操 | 欧美精品久久久久 | 欧美性生活视频 | 国际精品鲁一鲁一区二区小说 | 中文字幕乱码一区二区三区 | 99国产精品久久久久久久 | 91中文字幕在线观看 | 国产一区二区电影网 | 久久久性色精品国产免费观看 | 亚洲欧美第一视频 | 国产一区二区观看 | 欧美性极品xxxx做受 | 在线国产一区 | 成人免费xxxxx在线视频 | 日韩欧美成人精品 | 欧美福利视频一区 | 免费看a | 成人性视频免费网站 | 日韩电影一区 | 在线综合视频 | 亚洲欧美日韩在线不卡 | 日韩日韩日韩日韩日韩日韩日韩 | 久久久久国产一区二区三区四区 | 在线视频h | 色婷婷久久综合 | 国产一区在线免费观看视频 | 欧美精品一区二区三区在线 | 黄色网络在线观看 | 欧美日韩国产中文 | 欧美精品在线一区二区三区 | 欧洲视频一区二区 | 亚洲国产精品一区二区久久 | 天天久久 | 国产欧美一区二区三区在线看蜜臀 | 性高湖久久久久久久久 |