linux下編譯工具的用途

來源:互聯網
上載者:User

GNU binutils是一組二進位工具集。Binutils是GNU工具之一,它包括連接器、彙編器和其他用於目標檔案和檔案的工具,它是二進位代碼的處理維護工具。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip.

ar用於建立、修改、提取檔案檔案(archive)

objcopy可以將一種格式的目標檔案轉化為另外一種格式的目標檔案

file命令用來判別檔案類型

objdump用來顯示目標檔案的資訊

gprof被用來測配量序的效能

nm用來列出目標檔案中的符號,可以協助程式員定位和分析執行程式和目標檔案中的符號資訊和它的屬性

 

交叉編譯工具鏈是一個由編譯器、連接器和解譯器組成的綜合開發環境,交叉編譯工具鏈主要由binutils、gcc和glibc 3個部分組成。建立交叉編譯工具鏈是一個相當複雜的過程,如果不想自己經曆複雜繁瑣的編譯過程,網上有一些編譯好的可用的交叉編譯工具鏈可以下載,但就以學習為目的來說讀者有必要學習自己製作一個交叉編譯工具鏈。步驟如下:

構建交叉編譯器的第一個步驟就是確定目標平台。本章的目的是講述建立基於ARM平台的交叉工具鏈,所以目標平台名為arm-linux-gnu。
方法一  分步編譯和安裝交叉編譯工具鏈所需要的庫和原始碼,最終產生交叉編譯工具鏈。方法二  通過Crosstool指令碼工具來實現一次編譯產生交叉編譯工具鏈。方法三  直接通過網上(ftp.arm.kernel.org.uk)下載已經製作好的交叉編譯工具鏈(沒有靈活性,所以構建所用的庫以及編譯器的版本也許並不適合你要編譯的程式)。

編譯器需要通過系統核心的標頭檔來獲得目標平台所支援的系統函數調用所需要的資訊。對於Linux核心,最好的方法是下載一個合適的核心,然後複製獲得標頭檔。需要對核心做一個基本的配置來產生正確的標頭檔;不過,不需要編譯核心。

 

Crosstool是一組指令碼工具集,可構建和測試不同版本的gcc和glibc,用於那些支援glibc的體繫結構。

來自:構建ARM Linux交叉編譯工具鏈 詳解(http://linux.chinaunix.net/techdoc/develop/2008/04/11/991424.shtml)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.